我启动了一个 amazon ec2 实例,并在其上安装了 postgresql 9.1。然后我去了安全组:quicklaunch-1 (there was one more
default`,我没有更改)并打开 5432 TCP 端口,表格如下所示:
(Service) Source Action
22 0.0.0.0/0 Delete
5432 0.0.0.0/32 Delete
5433 0.0.0.0/32 Delete
6432 0.0.0.0/32 Delete
我创建了一个数据库和用户。我的/etc/postgresql/9.1/main/pg_hba.conf
样子是这样的:
# Database administrative login by Unix domain socket
local all postgres peer
# TYPE DATABASE USER ADDRESS METHOD
host all all 0.0.0.0/0 md5
host db_name user_name 0.0.0.0/0 md5
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
host replication postgres 127.0.0.1/32 md5
host replication postgres ::1/128 md5
和/etc/postgresql/9.1/main/postgresql.conf看起来像这样:
# - Connection Settings -
listen_addresses = '*'
#listen_addresses = 'localhost' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost', '*' = all
# (change requires restart)
port = 5432 # (change requires restart)
然后我尝试连接到远程机器,如下所示:
psql -h ec2-xxx-xx-xxx-xxx.compute-1.amazonaws.com -d <database_name> -U <username>
其中ec2-xxx-xx-xxx-xxx.compute-1.amazonaws.com是我的Public DNS。
上面的命令没有任何连接,我该如何连接?