이전 항목: APM 데이터베이스 복원 문제 해결다음 항목: 데이터베이스 연결 부족


APM 데이터베이스에 대한 잊어버린 암호

증상

PostgreSQL을 사용하여 APM 데이터베이스를 설치했는데 PostgreSQL 암호를 모릅니다. 암호를 잊어버렸습니다.

해결 방법

다음 절차는 설치된 PostgreSQL에 적용됩니다.

다음 단계를 따르십시오.

  1. 텍스트 편집기에서 pg_hba.conf 파일을 엽니다.

    이 파일은 <Postgres_Home>/data 디렉터리에 있습니다. 예: /opt/database/data. 설치된 Wily CEM 4.5.x에서 이 위치는 /var/lib/pgsql/data입니다.

  2. pg_hba.conf 파일에서 postgres 사용자에 대한 줄을 찾습니다. 이 줄은 다음과 유사합니다.
    local	all	all	password
    

    또는

    local	all	postgres	md5
    

    네트워크 사용자는 줄이 "host"로 시작되고, 또한 IP 주소와 네트워크 마스크를 제공합니다.

    host 	all	postgres	10.255.255.10
    

    동일한 방식으로 인증하도록 시스템이 모든 사용자에 대해 구성된 경우 사용자 이름 대신 "all"이 표시됩니다.

    local	all	all	md5
    

    참고: 메서드는 "md5" 또는 "password" 또는 다른 많은 옵션 중 하나로 설정될 수 있습니다.

  3. 모든 사용자 또는 해당 postgres 사용자에 적용되는 줄의 주석 처리를 제거하고 다음 줄을 추가합니다.
    local	all	postgres	ident sameuser
    

    위의 줄은 암호를 지정하지 않고 postgres 사용자로서 연결할 수 있게 해 줍니다. 'Local'은 UNIX 도메인 소켓 연결에만 해당됩니다.

    local	all	postgres	ident sameuser
    

    : 변경하는 줄을 복사하고 원래 줄을 주석 처리하십시오.

  4. 변경 사항을 pg_hba.conf 파일에 저장합니다.
  5. postgres 서비스를 다시 시작합니다. 이 서비스는 아래에서 찾을 수 있습니다.
    /etc/rc.d/init.d/
    
  6. 다음 명령을 실행하십시오.
    service postgresql-8.4 restart
    
  7. 다음 명령을 실행하여 postgres 사용자에 대한 sudo 액세스로 전환합니다.
    su - postgres
    

    이렇게 하면 postgres 사용자로 명령을 실행할 수 있습니다.

  8. PostgreSQL에 대한 명령줄 클라이언트인 psql을 실행합니다. psql은 <Postgres_Home>/bin 또는 <Postgres_Home>/pgAdmin3에서 찾을 수 있습니다.
    ./psql
    

    이렇게 하면 psql이 PostgreSQL 데이터베이스를 엽니다. 이때 암호는 묻지 않습니다. 로그인 프롬프트는 다음과 유사합니다.

    psql (8.4.5)
    Type "help" for help.
    
    postgres=#
    
  9. psql 명령 프롬프트에서 다음 psql 명령을 실행하여 데이터베이스 암호를 변경합니다.
    ALTER USER postgres WITH ENCRYPTED PASSWORD 'password';
    

    Psql은 성공을 나타내기 위해 다음과 같은 내용을 표시합니다.

    ALTER ROLE
    postgres=#
    
  10. 다음을 입력하여 psql을 종료합니다.
    \q
    
  11. pg_hba.conf 파일을 다시 열고 원래 설정으로 되돌립니다. md5 또는 암호 인증을 사용할 수 있지만 md5가 더 보안이 강력합니다.
  12. postgres 서비스를 다시 시작합니다.
  13. 테스트하기 위해 psql을 다시 실행합니다. 이때 (재설정) 암호를 묻습니다.