PostgreSQL的连接问题汇总

来源:未知 责任编辑:责任编辑 发表时间:2014-01-26 22:02 点击:
PostgreSQL的连接问题汇总
 
今天开发告诉说程序连不上开发数据库了,报错信息如下: 

 
这是一个连接数超过数据库限制连接数的的问题。查看了下数据里面的连接数:
postgres=# select count(1) from pg_stat_activity;
 count 
-------
    95  www.2cto.com  
(1 row)
 
postgres=# show max_connections;
 max_connections 
-----------------
 100
(1 row)
 
postgres=# show superuser_reserved_connections ;
 superuser_reserved_connections 
--------------------------------
 3
(1 row)
可以看到当前连接已经有95个了,外加3个超级用户预留连接数,即将达到100这个限制数,
所以程序极易报错。 解决办法:增大max_connections数,开发程序上检查连接数是否正常关闭等,
应急情况下,可把pg_stat_activity中IDLE的进程删除,kill procpid; 由此想到以前遇到的一些连接问题,
一并写在这里了,方便以后查看。 
错误2:
psql: could not connect to server: Connection refused (0x0000274D/10061)
        Is the server running on host "???" and accepting
        TCP/IP connections on port 5432?
这个问题一般是以下原因造成的:   www.2cto.com  
1.服务器没起来,ps -ef|grep postgres查看是否存在PG进程 
2.监听问题,cat postgresql.conf|grep listen 查看监听地址是否正确 
3.以上都没问题,服务器端能连进去,但客户端不行,这时需要查看pg_hba.conf文件 
4.以上都没问题,检查服务器端的iptables,开启防火墙的访问端口 
 
错误3: 是在群里一个用户贴的:
Fatal:connection limit exceeded for non-supersers 
其实该问题和错误1是类似的,连接数接近数据库设置的连接数.需要增大连接数 说明: 
max_connections是数据库允许的最大连接数,默认值100, 
superuser_reserved_connections是预留给超级用户的连接数,默认值3 
修改这两个参数都需要重启DB; 
与之相关联的参数还有work_mem,连接数*work_mem可以得到DB的内存大小,这个调整视服务器的内存大小
和使用情况而定。
 
 
 
作者 kenyon
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Request.ServerVariables 参数大全
    • 执行全文索引时出现权限不足的解决方法
    • 导入excel文件处理流程节点的解决方案
    • 查看sql修改痕迹(SQL Change Tracking on Table)
    • MongoDB安装为Windows服务方法与注意事项
    • App数据层设计及云存储使用指南
    • PostgreSQL启动过程中的那些事三:加载GUC参数
    • 写给MongoDB开发者的50条建议Tip1
    • Percolator与分布式事务思考(二)
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1