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.