PostgreSQL : Ubuntu에서 PostgreSQL의 비밀번호 재설정 [닫힘]


95

우분투에서는 PostgreSQL 데이터베이스를 설치하고 서버의 수퍼 유저를 만들었습니다.

postgresql 수퍼 유저의 비밀번호를 잊어 버린 경우 해당 사용자의 비밀번호 (비밀번호)를 어떻게 재설정 할 수 있습니까?

제거하고 다시 설치하려고했지만 이전에 만든 수퍼 유저는 그대로 유지됩니다.

답변:


213

컴퓨터의 관리자라고 가정하면 Ubuntu는 모든 사용자로 명령을 실행할 수있는 sudo 권한을 부여했습니다 .
또한 pg_hba.conf파일 ( /etc/postgresql/9.1/main디렉토리 내) 의 권한을 제한하지 않았다고 가정하면 첫 번째 규칙으로 다음 행을 포함해야합니다.

# Database administrative login by Unix domain socket  
local   all             postgres                                peer

(파일 위치 정보 : 9.1은 (는) 주요 postgres 버전과 main"클러스터"의 이름입니다. 최신 버전의 postgres를 사용하거나 기본이 아닌 이름을 사용하는 경우 달라집니다.이 pg_lsclusters명령을 사용 하여 버전 / 시스템에 대한이 정보를 얻으십시오).

어쨌든 pg_hba.conf파일에 해당 줄이 없으면 파일을 편집하고 추가 한 다음 sudo service postgresql reload.

그러면 다음 psql쉘 명령을 사용하여 postgres 수퍼 유저로 로그인 할 수 있습니다 .

sudo -u postgres psql

psql 내부에서 SQL 명령을 실행하십시오.

ALTER USER postgres PASSWORD 'newpassword';

이 명령에서는 postgres수퍼 유저의 이름입니다. 암호를 잊어 버린 사용자가 ritesh이면 명령은 다음과 같습니다.

ALTER USER ritesh PASSWORD 'newpassword';

참조 : PostgreSQL 9.1.13 문서, 19 장. 클라이언트 인증

끝에 하나의 S 가있는 postgres 를 입력해야합니다.


2
나는 당신의 방법을 사용했습니다. 내 슈퍼 사용자 이름은 ritesh입니다. pg_hba.conf는 당신이 언급 한대로 "ALTER USER postgres PASSWORD 'newpassword';"명령을 실행합니다. 콘솔에 'ALTER ROLE'이 표시됩니다. 그런 다음 명령을 실행 한 후 ctrl + c를 사용하여 종료했습니다. : 사용자 "ritesh" "에 대한 암호 인증에 실패했습니다. 사용자를 만드는 방법과이 명령의 암호는 무엇입니까 ??
Ritesh Mehandiratta 2013 년

당신이 암호를 변경하려면 ritesh, 위의 SQL을 변경ALTER USER ritesh PASSWORD 'newpassword'
다니엘 베리 테

당신은 .... 변경 위해서는 pg_hba.conf 후 포스트 그레스를 다시 시작해야합니다
마흐디

1
다시 시작할 필요없이 pg_ctl reload를 사용하면됩니다.
HBN

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