Ubuntu에서 pgAdmin을 사용하여 Postgres를 localhost 서버에 연결하는 방법은 무엇입니까?


103

이 명령으로 Postgres를 설치했습니다.

sudo apt-get install postgresql postgresql-client postgresql-contrib libpq-dev

psql --version터미널에서 사용 하면psql (PostgreSQL) 9.3.4

다음은 설치 pgadmin와

sudo apt-get install pgadmin3

나중에 UI를 열고이 정보로 서버를 만들었습니다.

여기에 이미지 설명 입력

하지만이 오류가 나타납니다

여기에 이미지 설명 입력

어떻게 고칠 수 있습니까?


이 링크 https://www.enterprisedb.com/downloads/postgres-postgresql-downloads#windows 에서 v9.3의 postgresql을 다운로드 하고 다시 pgadmin III를 실행하면 연결할 필요가없는 로컬 호스트가 이미 설치되어 있습니다.
— Dhavalkumar Prajapati

답변:


29

사용자를 만들지 않았습니다 db. 새로 설치 한 경우 기본 사용자는 postgres이고 암호는 비어 있어야합니다. 액세스 한 후 필요한 사용자를 만들 수 있습니다.


43
그렇게하면이 오류가 나타납니다 Error connecting to the server: fe_sendauth: no password supplied
— TuGordoBello 2014

여기서는 postgres 사용자 암호가 비어 있지 않지만 정의되지 않았습니다 (/ etc / shadow의 느낌표). 비밀번호 로그인이 불가능합니다.
— Str.

확인을 위해 테스트를 마쳤으며 예, Pg는 인증을 password authentication failed사용할 때 존재하지 않는 사용자를 위해 방출 합니다 md5.
— Craig Ringer 2014

1
사용자를 어떻게 만드나요?
— ahnbizcad

2
"서버 연결 오류 : fe_sendauth : 제공된 암호 없음"
— Cerin

174

postgres 역할의 비밀번호를 수정합니다.

sudo -u postgres psql postgres

alter user postgres with password 'postgres';

이제 사용자 이름 postgres와 암호 postgres를 사용하여 pgadmin에 연결하십시오.

이제 pgAdmin을 사용하여 역할 및 데이터베이스를 만들 수 있습니다.

PostgreSQL 사용자 비밀번호를 변경하는 방법은 무엇입니까?


10
또는 그냥 .. 'sudo -u postgres psql'을 입력 한 다음 '\ password'를 입력하십시오. Enter를 누르십시오. 새로운 비밀번호를 입력하세요.
— Jay Modi 2015

1
이것은 받아 들여진 대답이어야합니다. 감사합니다. 이것은 많은 도움이되었습니다.
— Pramesh Bajracharya

25

도움이됩니다.


1. 파일 열기 pg_hba.conf

sudo nano /etc/postgresql/9.x/main/pg_hba.conf

이 줄을 변경하십시오.

Database administrative login by Unix domain socket
local   all             postgres                                md5

에

Database administrative login by Unix domain socket
local   all             postgres                                trust
  1. 서버를 다시 시작하십시오.

    sudo 서비스 postgresql 다시 시작

  2. psql에 로그인 하고 비밀번호를 설정하십시오.

    psql -U postgres

ALTER USER postgres with password 'new password';

  1. 다시 파일을 열고 pg_hba.conf 다음 줄을 변경합니다.
Unix 도메인 소켓에 의한 데이터베이스 관리 로그인
    로컬 모든 postgres 신뢰

에

    Unix 도메인 소켓에 의한 데이터베이스 관리 로그인
    로컬 모든 postgres md5
  1. 서버를 다시 시작하십시오.

    sudo 서비스 postgresql 다시 시작


효과가있다.

여기에 이미지 설명 입력


유용한 링크
1 : PostgreSQL (ubuntu.com에서 제공)


이것은 내 문제를 해결했지만 어떤 경우에는 postgres 비밀번호를 설정하기 전에 db 관리자 로그인을 신뢰로 변경해야하는 이유를 설명 할 수 있습니까?
— HostMyBus

@HostMyBus 안녕하세요, 사실 저는이 사건을 전혀 기억하지 못합니다. (내가 그것에 대해 좋은 설명이 생각하는) 웹에서 몇 가지 답변을 발굴하려고
— 아르 템 Solovev

@HostMyBus 이것은 보안 기능입니다. 신뢰로 설정되면 시스템의 모든 사용자가 데이터베이스에 로그인 할 수 있습니다.
— Simon Zyx

그리고 당신은 실제로 그것을 필요가 없습니다 : 그냥 사용 WiredIn 답변을
— 사이먼 ZYX에게

4

먼저 사용자를 만듭니다. 이 작업은 사용자 postgres로 수행해야합니다. postgres 시스템 계정에 할당 된 암호가 없기 때문에 먼저 암호를 설정하거나 다음과 같이 진행할 수 있습니다.

sudo /bin/bash
# you should be root now  
su postgres
# you are postgres now
createuser --interactive

프로그램이 프롬프트를 표시합니다.


sudo -u postgres -i암호 질문으로 이어질 것입니다. 내 시스템에 입력 할 수있는 암호가 없습니다. 내 제안은 항상 효과가 있습니다 (흠, 바라건대).
— Str.

sudo -u postgress -i암호 질문으로 이어지지 않습니다 (적어도 기본 설치 후 Ubuntu에서). 중 하나는 createuser --interactive프롬프트 암호로 이어질하지 않습니다 ... :(
— 드레이 Doněk

@ OndřejDoněk 내 제안은 먼저 sudo / bin / bash였습니다. 그렇게 했습니까?
— Str.

역할에 무엇을 입력해야합니까?
— ahnbizcad

$ createuser --interactive 추가 할 역할 이름 입력 : postgres 새 역할이 수퍼 유저 여야합니까? (y / n)y
— Elise Chant

2

먼저 터미널을 사용하여 비밀번호를 변경해야합니다. (사용자 이름은 postgres입니다)

postgres = # \ password postgres

그런 다음 암호를 입력하고 확인하라는 메시지가 표시됩니다.

이제 새 암호로 pgadmin을 사용하여 연결할 수 있습니다.


0

psql터미널 창에서 콘솔 을 여는 경우

$ psql

슈퍼 유저 사용자 이름은 앞에 표시 =#됩니다. 예를 들면 다음과 같습니다.

elisechant=#$

이것이 localhost에 사용해야하는 사용자 이름입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.