(참고 : EDB 설치 프로그램에서 PostgreSQL 9.2 이상을 사용하는 독자에게는 그다지 중요하지 않습니다. 이제 다른 계정을 구성 할 수는 있지만을 사용하여 기본 설치를 크게 단순화했습니다NETWORK SERVICE
.)
net user postgres postgres
데이터베이스의 비밀번호를 재설정하는 데 사용 했지만 성공 메시지 대신에"System error 5 has occurred. Access is denied."
서비스 계정 비밀번호를 재설정했거나 재설정하려고했습니다. 보안상의 이유로 PostgreSQL은 관리자로 실행되지 않으며 설치 프로그램은 일반적으로 PostgreSQL 9.1 및 그 이전 버전 1 의 "postgres"사용자 계정으로 설정합니다 . Windows에서는 레지스트리에 사용자의 비밀번호를 저장하지 않고 사용자로 서비스를 시작할 수 없으므로 설치 프로그램이 수행하는 작업입니다.
Windows 사용자 계정의 비밀번호를 변경하면 postgres
PostgreSQL 서비스를 더 이상 시작할 수 없습니다. 업데이트하지 않은 비밀번호를 저장하려면 서비스 구성을 수정해야합니다.
고맙게도 다른 실수로 인해 그렇게 할 수 없다고 생각합니다. 권한이없는 Windows 사용자 계정이나 UAC가있는 컴퓨터에서 "관리자 권한으로 실행"을 사용하지 않고 명령 프롬프트를 실행하고있는 것으로 보이므로 postgres
사용자 암호를 변경하는 데 필요한 액세스 권한으로 실행되고 있지 않습니다 .
해당 비밀번호를 변경하기 전에 실제로 원하는 비밀번호인지 확인하십시오. 여기서 해결하려는 문제는 무엇입니까? 데이터베이스 업데이트 또는 postgres
Windows 사용자 의 비밀번호를 요구하는 다른 것을 설치하려고 합니까?
데이터베이스에 로그인하려고했을 가능성이 높습니다. 이를 위해 데이터베이스 자체에 저장된 (아쉽게도 전혀 관련이없는) 비밀번호를 사용합니다. 잃어 버렸거나 잊어 버렸으므로 재설정해야합니다.
pg_hba.conf
에서 일반적으로 찾기C:\Program Files\PostgreSQL\9.1\data\pg_hba.conf
- 필요한 경우 권한을 설정하여 수정할 수 있도록하십시오. 속성 대화 상자의 보안 탭을 사용하여 관리자 재정의를 사용하여 권한을 부여 할 때까지 사용자 계정이 그렇게하지 못할 수 있습니다. 또는 시작 메뉴에서 notepad / notepad ++를 찾아 마우스 오른쪽 단추로 클릭하고 "관리자 권한으로 실행"을 선택한 다음 파일-> 열기를 사용하여 엽니 다
pg_hba.conf
.
"127.0.0.1/32"호스트의 "postgres"사용자에 대한 "host"행을 "trust"로 설정하도록 편집하십시오. 줄이 없으면 추가 할 수 있습니다. 그냥 삽입하십시오 :
host all postgres 127.0.0.1/32 trust
host all postgres ::1/128 trust # if IPv6 is in use
다른 줄 앞에 . 주석으로 시작하는 줄은 무시해도됩니다 #
.
서비스 제어판에서 PostgreSQL 서비스를 다시 시작하십시오 (시작-> 실행-> services.msc
)
- psql 또는 PgAdmin-III 또는 원하는 것을 사용하여 연결
ALTER USER postgres PASSWORD 'postgres'
- 추가 한 줄을 제거
pg_hba.conf
하거나 다시 변경
- PostgreSQL을 다시 시작하십시오.
Windows에서 PostgreSQL의 postgres 비밀번호를 어떻게 재설정합니까?를 참조하십시오.
1. 9.2는 이제 NETWORKSERVICE
비밀번호가 필요없는 계정을 사용하므로이 문제는 사라집니다 .