解决postgreSql远程连接数据库超时的问题

首先在cmd中ping 这个ip如果发现可以ping通就可以考虑是 远程数据库开启了防火墙、或者数据库设置该ip不能访问。

防火墙问题:可以考虑直接关闭防火墙,或者设置防火墙开放5432端口

然后到postgresql安装目录下data中修改pg_hba.conf文件,配置用户的访问权限,拉到底部

host all all 127.0.0.1/32 trust
host all all 192.168.1.0/24 md5 #表示允许网段192.168.1.0上的所有主机使用所有合法的数据库用户名
#访问数据库,并提供加密的密码验证
host all all 0.0.0.0/0 md5 #表示允许所有主机使用所有合法的数据库用户名访问数据库,并提供加密的
#密码验证。数字24是子网掩码,表示允许192.168.1.0–192.168.1.255的计算机访问!

修改postgresql.conf文件

定位到#listen_addresses 一般都是默认为*,不是就改成*

然后重启postgresql服务

补充:postgresql远程连接中断的解决

在阿里云安装了postgresql以后,上班时间连接公司网络,本地连接pg数据库,隔几分钟就会自动断开连接,很浪费开发效率,

比较郁闷的是,下班时间连接家里的网络就没有问题,

研究了一段时间后,最终通过设置TCP的keepalive让问题得到解决

[root@localhost ~]# sysctl -A | grep net.ipv4.tcp_keepalive
sysctl: reading key "net.ipv6.conf.all.stable_secret"
net.ipv4.tcp_keepalive_intvl = 75
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_time = 7200

- net.ipv4.tcp_keepalive_time - 在第一次keep alive请求发送后,不活动连接的时间

- net.ipv4.tcp_keepalive_probes - 在这个连接被认为是断开之前,keep alive请求被重发的次数

- net.ipv4.tcp_keepalive_intvl - keep alive探测的时间间隔

默认的超时设置太长,如果外网网络状况不佳,可能会导致连接断掉,

所以让pg更频繁地发出探测数据包来保持tcp连接:

[root@localhost ~]# sysctl -w net.ipv4.tcp_keepalive_time=60 net.ipv4.tcp_keepalive_probes=3 net.ipv4.tcp_keepalive_intvl=10

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • navicat无法连接postgreSQL-11的解决方案

    1. 通过find / -name postgresql.conf 和 find / -name pg_hba.conf 找到这两个文件 2. 设置外网访问: 1)修改配置文件 postgresql.conf listen_addresses = '*' 2)修改pg_hba.conf 在原来的host下面新加一行 # IPv4 local connections: host all all 127.0.0.1/32 trust host all all 0.0.0.0/0 password 3

  • 解决sqoop从postgresql拉数据,报错TCP/IP连接的问题

    问题: sqoop从postgresql拉数据,在执行到mapreduce时报错Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections 问题定位过程: 1.postgresql 5432端口已开放,执行任务的节点能telnet通,并且netcat测试通过 2.sqoop list-tables命令可正常执行,sq

  • PostgreSQL 设置允许访问IP的操作

    PostgreSQL安装后默认只能localhost:5432访问 检验方法: curl localhost:5432 # 访问成功提示 curl: (52) Empty reply from server curl 127.0.0.1:5432 # 访问不成功提示 curl: (7) Failed to connect to 172.17.201.227 port 5432: Connection refused 修改pg_hba.conf pg_hba.conf和postgresql.con

  • PostgreSQL 允许远程访问设置的操作

    postgres远程连接方式配置 配置pg_hba.conf文件 目录C:\Program Files\PostgreSQL\9.5\data (QXY)主机 [postgres@qxy data]$ pwd /spark/pgsql/data [postgres@qxy data]$ cat pg_hba.conf # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections o

  • sqoop读取postgresql数据库表格导入到hdfs中的实现

    最近再学习spark streaming做实时计算这方面内容,过程中需要从后台数据库导出数据到hdfs中,经过调研发现需要使用sqoop进行操作,本次操作环境是Linux下. 首先确保环境安装了Hadoop和sqoop,安装只需要下载 ,解压 以及配置环境变量,这里不多说了,网上教程很多. 一.配置sqoop以及验证是否成功 切换到配置文件下:cd $SQOOP_HOME/conf 创建配置环境文件: cp sqoop-env-template.sh sqoop-env.sh 修改配置文件:co

  • 解决postgreSql远程连接数据库超时的问题

    首先在cmd中ping 这个ip如果发现可以ping通就可以考虑是 远程数据库开启了防火墙.或者数据库设置该ip不能访问. 防火墙问题:可以考虑直接关闭防火墙,或者设置防火墙开放5432端口 然后到postgresql安装目录下data中修改pg_hba.conf文件,配置用户的访问权限,拉到底部 host all all 127.0.0.1/32 trust host all all 192.168.1.0/24 md5 #表示允许网段192.168.1.0上的所有主机使用所有合法的数据库用户

  • 服务器安装宝塔面板无法远程连接数据库的解决方法

    准备搭建一个自己的网站,趁着618优惠买了一台腾讯云的linux服务器,配置一般价格合适.因为对服务器了解不多,所以选择了使用图形界面面板来进行管理,因为之前通过阿里云了解到宝塔面板,所以就在服务器安装了宝塔linux面板. 在宝塔中进行相关的环境配置之后,就安装了网站程序,这里在安装程序的时候也遇到了问题,后面再发文说明解决方案.因为自己django还在学习阶段,所以选择了之前熟悉的zblog程序进行搭建,因为准备搭建多个方面的网站,此时搭建的网站是准备做流量站,主要靠爬虫采集入库的方式更新网

  • 解决paramiko执行命令超时的问题

    问题:paramiko远程执行命令,需要等到命令返回信息,如果命令执行时间比较长,返回信息就需要等很久 方案: 1.使用nohup + 待执行命令 + & ,使用后台执行的方式,应该可以快速返回 2.设置paramiko的执行命令等待超时时间 stdin, stdout, stderr = self.client.exec_command(cmd,timeout=10,get_pty=True) 其实上面的两种方案都不可行:方案1,需要优化,下面这种直接调用的方式会导致test.sh启动不起来

  • 解决postgresql无法远程访问的情况

    今天刚入手这个数据库玩玩,发现无法通过IP去访问数据库,后面查询原因为,该数据库默认只能通过本地连接,也就是回环地址(127.0.0.1) 解决方案: 1.修改安装目录下的data\pg_hba.conf,在配置文件最后有IPV4和IPV6的配置,新增一行(这里我用的IPV4,开放所有IP) host all all 0.0.0.0/0 md5 说明: 该配置为允许所有IP访问,下面有对应的一些配置示例提供参考 32 -> 192.168.1.1/32 表示必须是来自这个IP地址的访问才合法:

  • 解决ssh远程登陆linux显示-bash-4.1$的问题

    cp -pr /etc/skel/.bash* /home/test/ #/home/test是用户目录 改变用户家目录:usermod -md /tmptest test 以上就是小编为大家带来的解决ssh远程登陆linux显示-bash-4.1$的问题全部内容了,希望大家多多支持我们~

  • 解决pycharm 远程调试 上传 helpers 卡住的问题

    公司开发环境跑在linux上,用了一周都没问题,突然今天无法使用了,具体表现就是一打开pycharm,同步远程解释器就卡在上传helper文件之处,折腾一上午加一中午,用这个方法解决了,写下来避免其他人入坑! 解决:pycharm安装文件夹下 例如C:\Program Files\JetBrains\PyCharm 2017.2.3这里面找到并且 删掉skeletons文件夹,重新启动再配置远程环境就好了 以上这篇解决pycharm 远程调试 上传 helpers 卡住的问题就是小编分享给大家的

  • 解决Python设置函数调用超时,进程卡住的问题

    背景: 最近写的Python代码不知为何,总是执行到一半卡住不动,为了使程序能够继续运行,设置了函数调用超时机制. 代码: import time import signal def test(i): time.sleep(i % 4) print "%d within time" % (i) return i if __name__ == '__main__': def handler(signum, frame): raise AssertionError for i in ran

  • mysql 的root 用户无法授权及解决navicat 远程授权提示1044问题

    先看解决方案 #------------mysql root 用户无法赋权问题解决 -------- 1,登录 mysql -u root -p 2,use mysql; 选择mysql数据库 3,执行以下操作(查询用户的赋权权限,更改赋权权限 ,刷新生效) mysql> select user,host,grant_priv from user; +---------------+-----------+------------+ | user | host | grant_priv | +-

  • 解决postgresql 数据库 update更新慢的原因

    ;大约140000条数据) 竟然运行了一个小时还没有完成 下面是我的几点解决方案 我的update 语句 是从一个临时表更新值到另一个正式表 因为具体数据需要保密,我就不截图了 只说说大体思路,与方法 1.查看语句是否有问题 复制俩个一模一样的表 和数据 手动执行语句 发现不到一分钟就运行成功了 这样就可以确认语句没有问题 2.查找影响updata的因素 我的第一反应是不是有锁 有锁的情况会导致等待或者死锁 查询锁 select w1.pid as 等待进程, w1.mode as 等待锁模式,

  • 使用Sqlyog远程连接数据库报错解决方案

    目录 前言 解决方案 总结 前言 远程连接linux上的mysql时,报了下面这样的错误 数据库远程连接失败 这是因为我们的主机没有足够的权限去连接linux上的数据库 解决方案 1.1 使用root用户登录数据库 mysql -uroot -p<密码> 1.2切换到mysql数据库 use mysql 1.3 查询user表中的root用户的localhost信息 select user,host from user; 1.4 修改localhost信息 update user set ho

随机推荐