PostgreSQL:使用psql命令远程连接到Postgres实例
我想远程连接到Postgres实例。我知道我们可以使用psql命令来传递主机名 我尝试了以下方法:PostgreSQL:使用psql命令远程连接到Postgres实例,postgresql,psql,Postgresql,Psql,我想远程连接到Postgres实例。我知道我们可以使用psql命令来传递主机名 我尝试了以下方法: psql -U postgres -p 5432 -h hostname 我修改了目标机器上的/etc/postgresql/9.3/main/pg_hba.conf文件,默认情况下允许远程连接 我在文件中添加了以下行 host all all source_ip/32 trust 我使用 pg_ctlcluster 9.2 mycluster stop pg_ctlcluster 9.2 m
psql -U postgres -p 5432 -h hostname
我修改了目标机器上的/etc/postgresql/9.3/main/pg_hba.conf文件,默认情况下允许远程连接
我在文件中添加了以下行
host all all source_ip/32 trust
我使用
pg_ctlcluster 9.2 mycluster stop
pg_ctlcluster 9.2 mycluster start
但是,当我尝试从源ip连接时,仍然会出现错误
服务器是否在主机“”上运行并在端口5432上接受TCP/IP连接
我到底做错了什么?我明白了
必须在
postgresql.conf
中设置listen\u addresses='*'
以允许来自任何ip/所有ip的传入连接我使用以下选项解决了此问题
psql-h-p-U
postgres服务器运行在什么操作系统上?请检查防火墙设置,因此,端口5432是开放的,可以接受连接假设您的客户端计算机具有ssh
,您也可以通过设置ssh隧道:ssh-L 5432:localhost:5432您的\u服务器\u ip
并以与连接到localhost db相同的方式尝试与远程postgres的类似localhost的连接。这有助于调试。默认情况下,postgresql只在本地主机上侦听(许多发行版保持此默认值不变)将listen_addresses的值调整为“*”,以使postgresql侦听您的计算机拥有的所有地址。遵循此链接:这是安全问题还是正常做法?@Ben一般来说,应该只允许特定的IP地址连接到psql实例。非常有用,谢谢!
psql -h <REMOTE HOST> -p <REMOTE PORT> -U <DB_USER> <DB_NAME>
psql -h <IP_Address> -p <port_no> -d <database_name> -U <DB_username> -W
psql -h 192.168.1.50 -p 5432 -d testdb -U testuser -W