다른 컴퓨터에서 내 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"로 변경했고 이로 인해 문제가 해결되었습니다.