2013-08-09 3 views
5

이 유형의 데이터베이스에 익숙하지 않으며 psql을 지정하고 암호를 공백으로 입력하여 명령 줄을 통해 연결하려고합니다. 나는이 질문의 제목에서 위의 오류를 얻는다.psql fe_sendauth no password

기본 암호가 무엇인지 알지 못합니다.

pg_hba 파일 :

C:\metasploit\postgresql\bin\pg_ctl -D "C:\metasploit\postgresql\myData" -l logfile start 

내가 원하는 모든 데이터베이스를 입력하고 비밀번호를 변경하는 것입니다 :

listen_addresses = '*'  # what IP address(es) to listen on; 
        # comma-separated list of addresses; 
        # defaults to 'localhost', '*' = all 
        # (change requires restart) 
port = 5432    # (change requires restart) 

내가 서버 이런 식으로 다시 시작

 IPv4 local connections: 
    host all    all    127.0.0.1/32   trust 
    # IPv6 local connections: 
    host all    all    ::1/128     trust 
    # Allow replication connections from localhost, by a user with the 
    # replication privilege. 
    host replication  DIMA  127.0.0.1/32   trust 
    host replication  DIMA  ::1/128     trust 

postgresql.config . 그리고 바람직하게는 PgAdmin-III를 입력하십시오 (GUI 형식)

답변

0

trust 인증 (개발에만 사용해야 함)을 사용하는 경우 psql으로 암호를 입력하라는 메시지가 표시되지 않습니다.

서버를 제대로 다시 시작하지 않았다고 말할 수 있습니다. start 대신 restart을 사용할 수 있습니까?

+0

이 오류도 발생합니다. 데이터베이스를 다시 시작하는 것과 아무런 관련이 없습니다. PG는 'psql --username = postgres --host = localhost'로 암호를 요구하지만'psql --username = postgres'로 암호를 묻지 않습니다. 단 두 개는 논리적으로 동일해야합니다. – Cerin

+1

@Cerin 두 개는 유닉스 소켓을 지원하는 플랫폼에서는 동일하지 않습니다. 후자는 TCP/IP를'localhost'가 해결하는 IP 주소로 사용합니다. 전자는'psql --username = postgres --host =/var/run/pgsql' (또는'unix_socket_directory'가 어디에 있든)을 말하는 것과 같습니다. 나는 그 사용자 인터페이스를 많이 좋아하지 않지만 실제로 변경 될 수는 없다. Windows에서는 유닉스 소켓을 지원하지 않기 때문에 동등한 것입니다. –

0

Craig는 서버를 다시 시작하지 않았기 때문에 start 대신 restart를 사용해야합니다. (다시로드해도 작동하지만 Windows에서는 확실하지 않을 수 있습니다.)

하지만 문제는 아닙니다. 주요 문제는 거의 확실하게 당신이 localhost에 연결하지 않고 다른 호스트의 암호가 필요한 회선이 pg_hba.conf에 있습니다.

참고 외부 IP 주소에 연결하면 다른 규칙이나보다 일반적인 규칙이 적용됩니다.

이 오류는 기본적으로 pg_hba.conf 파일이 암호 인증으로 설정되었지만 암호가 제공되지 않았 음을 의미합니다. 문제를 빨리 찾을 수없는 경우 연결이 시작되는 IP 주소는 postgresql 로그 파일에 있어야합니다.

신뢰를 사용하는 경우 비밀번호를 변경 한 후에는 반드시 다시 변경해야합니다. 일반적으로 Craig는 개발 외부에서 신뢰 인증을 사용하면 안되지만 중요한 사용자의 비밀번호 재설정에 대한 합법적 인 접근 방법이며, Windows에서는 플랫폼에서 잘 지원되는 방식으로 수행되어야합니다.

최종주의 사항은 로그인하는 방법입니다. 이것을 설정하려면 컴퓨터 이름을 사용하여 연결을 시도하는 것처럼 이상한 일을하지 않도록 psql -h 127.0.0.1 [dbname]을 사용해야합니다 (따라서 외부 IP).

관련 문제