postgresql 원격 로그인 및 로컬 로그인을 구성하는 방법

postgresql 원격 로그인 및 로컬 로그인을 구성하는 방법

다른 컴퓨터에서 내 postgresql 데이터베이스에 연결하려면 postgresql.con다음과 같이 f 파일을 구성해야 합니다.

#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -

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

나는 127.0.0.1을 사용해 보았지만 성공하지 못했습니다. "localhost"도 마찬가지입니다. 이 작업을 수행할 수 있었던 유일한 방법은 서버의 실제 IP 주소를 사용하는 것입니다. 내 "hosts" 파일에 localhost가 정의되어 있는지 확인했습니다.

어쨌든 이제 다음을 수행하여 다른 서버에서 연결할 수 있습니다.

psql -U test test -h 10.14.4.4

그런데 지금은 로그인이 안 되는 것 같아요현지의다음 구문을 사용하십시오.

psql -U test test -h 127.0.0.1

로컬로 로그인하는 유일한 방법은 다음과 같습니다.

psql -U test test

"*"를 사용하도록 postgresql.conf 파일을 변경해 보았습니다. 이를 통해 원격으로 로그인할 수 있었지만 로컬에서는 여전히 127.0.0.1 또는 "localhost"를 사용하여 연결할 수 없습니다.

원격 로그인과 로컬 로그인이 모두 작동하도록 어떻게 설정합니까?

답변1

pg_hba.conf 파일을 편집해야 했습니다:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                trust
#host    replication     postgres        127.0.0.1/32            trust
#host    replication     postgres        ::1/128                 trust
host    all             all             10.14.4.0/24             md5
host    replication     postgres        10.14.0.0/16              trust

방법을 "trust"에서 "md5"로 변경했고 이로 인해 문제가 해결되었습니다.

관련 정보