连接到亚马逊 ec2 上的远程 postgresql 服务器 [英] Connect to remote postgresql server on amazon ec2

查看:45
本文介绍了连接到亚马逊 ec2 上的远程 postgresql 服务器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我启动了一个亚马逊 ec2 实例,并在其上安装了 postgresql 9.1.然后我去了安全组:quicklaunch-1(还有一个default`,我没有改变)并打开了 5432 TCP 端口,表格如下所示:

I started an amazon ec2 instance, and installed postgresql 9.1 over it. I then went to the Security Group: quicklaunch-1(there was one moredefault` which i did not change) and opened the 5432 TCP Port, the table looks like this:

(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 看起来像这样:

I have created a database and user . My /etc/postgresql/9.1/main/pg_hba.conf looks like this:

# 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)

然后我尝试连接到远程机器,如下所示:

I then try to connect on to the remote machine as follows:

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 是我的公共 DNS.

上面的命令没有连接,请问如何连接?

The above command does not result in any connection, how can i connect?

推荐答案

在此表中:

5432      0.0.0.0/32    Delete
5433      0.0.0.0/32    Delete
6432      0.0.0.0/32    Delete 

CIDR 看起来您不允许任何 IP 进入.它们不应该是 0.0.0.0/0,就像您对端口 22 (ssh) 所拥有的那样吗?

the CIDRs look like you're not allowing any IP in. Shouldn't they be 0.0.0.0/0 instead, like what you have for port 22 (ssh)?

这篇关于连接到亚马逊 ec2 上的远程 postgresql 服务器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆