暂无图片
psql -h 无法连接,只能本地连接,如何排查
我来答
分享
暂无图片 匿名用户
psql -h 无法连接,只能本地连接,如何排查

psql -U postgres -h 192.168.200.29 -p 5432


psql -U postgres -p 5432 


psql -h 无法连接,只能本地连接,如何排查

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
Mjwlan

如果你尝试使用"psql -h"命令连接到数据库时,无法连接,并且只能进行本地连接,你可以按照以下步骤进行排查:

  1. 确认远程连接配置:首先,请确保数据库服务器的网络设置允许远程连接。检查数据库服务器的防火墙设置、网络连接和IP地址等是否正确配置。确认数据库服务器是否在指定的IP地址上侦听。

  2. 检查网络连通性:确保你的客户端机器与数据库服务器之间存在网络连通性。尝试使用ping命令或其他网络工具来测试客户端机器和数据库服务器之间的连接是否正常。

  3. 检查数据库监听端口:确认数据库服务器正在监听正确的端口号。默认情况下,PostgreSQL使用5432端口进行监听。使用telnet或其他工具测试客户端机器是否能够连接到该端口。

    例如,使用以下命令测试连接:

    复制代码

    telnet 192.168.200.29 5432
    复制

    如果连接成功,你将看到类似于以下内容的结果:

    复制代码

    Trying 192.168.200.29... Connected to 192.168.200.29. Escape character is '^]'.
    复制
  4. 如果不通,请检查服务及防火墙。

  5. 检查pg_hba.conf文件:验证数据库服务器上的pg_hba.conf文件中的身份验证规则配置是否允许远程连接。确保在pg_hba.conf文件中配置了允许指定IP地址范围或子网连接。

    例如,可以在pg_hba.conf文件中添加以下规则,以允许来自192.168.200.0/24子网的连接:

    复制代码

    host all all 192.168.200.0/24 md5
    复制
  6. 检查postgresql.conf文件:确保数据库服务器上的postgresql.conf文件中的listen_addresses配置项设置为允许远程连接。你可以将其设置为"*"来允许任何IP地址进行连接,或者指定特定的IP地址。

    例如,要允许任何IP地址进行连接,请确保以下配置存在于postgresql.conf文件中:

    复制代码

    listen_addresses = '*'
    复制

    完成这些步骤后,尝试使用"psql -h"命令连接到数据库。如果问题仍然存在,请检查错误消息和日志文件,以获取更多详细信息。

暂无图片 评论
暂无图片 有用 8
打赏 0
subverter

检查这个postgresql.conf文件,同时postgresql.conf修改listen_addresses = '*'

然后pg_ctl reload 

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
pg中执行计划中常用的操作符对应的解释?
回答 1
PG执行计划解析https://blog.csdn.net/weixin37692493/article/details/109232501
postgreSQL可以设置用户只能看到数据库下面某一个表吗?
回答 2
你说的“看到”是啥意思1、使用\d显示所有表名?据说可以改系统表实现,没试过,觉得没必要2、还是selectfromxx ?单独grantselectonxxxtoabc
postgreSQL 分区表 默认放到DEFAULT,怎么查DEFAULT的数据?
回答 1
直接查询父表,where带上分区键,执行计划会直接打到子表上
postgresql可以迁移到sql server吗?
回答 2
已采纳
可以,参考https://blog.csdn.net/zjzytnn/article/details/90747510
postgresql中对大小写不敏感在哪里配置?
回答 3
如果应用程序需要使用全大写,可以下面修改编译的驱动:PosgreSQL查询返回大写字段
postgreSQL xshell这里可以指定method,在命令里面怎么指定?
回答 1
通常默认password即可
postgresql能不能跑在arm架构的机器上?
回答 1
已采纳
可以。源码编译安装
在 postgreSQL 里实现 oracle的定时任务功能,推荐采用什么办法?
回答 2
pgCron插件
postgresql的存储过程一般用在哪些场景?
回答 1
已采纳
实验环境,模拟数据或者压测。正式环境不推荐使用。
已经设置了log_statement = 'all' 也重启了pg,但是看到日志里面还是没有sql语句,是哪儿出问题了呢?
回答 1
已采纳
SELECTname,setting,vartype,bootval,resetvalFROMpgsettingswherenamein('loggingcollector','logdestinat