ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

postgresql 致命错误: 已保留的连接位置为执行非复制请求的超级用户预留

2020-06-29 18:04:19  阅读:438  来源: 互联网

标签:致命 postgresql self py db ._ File 预留 line


最近监控系统的数据库监控总是延迟,查看日志报错:

2015-08-27 10:20:19,534 ERROR Traceback (most recent call last):
File "oracle_mon.py", line 306, in <module>
update_status(ip, 'stop', timer.end_date)
File "oracle_mon.py", line 285, in update_status
pg.db.update("oracle_mon", where=where, status=status, stat_date=status_date)
File "/usr/lib/python2.7/site-packages/web/db.py", line 881, in update
db_cursor = self._db_cursor()
File "/usr/lib/python2.7/site-packages/web/db.py", line 566, in _db_cursor
return self.ctx.db.cursor()
File "/usr/lib/python2.7/site-packages/web/db.py", line 507, in _getctx
self._load_context(self._ctx)
File "/usr/lib/python2.7/site-packages/web/db.py", line 516, in _load_context
ctx.db = self._connect_with_pooling(self.keywords)
File "/usr/lib/python2.7/site-packages/web/db.py", line 970, in _connect_with_pooling
conn = DB._connect_with_pooling(self, keywords)
File "/usr/lib/python2.7/site-packages/web/db.py", line 563, in _connect_with_pooling
return self._pooleddb.connection()
File "/usr/lib/python2.7/site-packages/DBUtils-1.1-py2.7.egg/DBUtils/PooledDB.py", line 331, in connection
con = self.steady_connection()
File "/usr/lib/python2.7/site-packages/DBUtils-1.1-py2.7.egg/DBUtils/PooledDB.py", line 279, in steady_connection
*self._args, **self._kwargs)
File "/usr/lib/python2.7/site-packages/DBUtils-1.1-py2.7.egg/DBUtils/SteadyDB.py", line 134, in connect
failures, ping, closeable, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/DBUtils-1.1-py2.7.egg/DBUtils/SteadyDB.py", line 186, in __init__
self._store(self._create())
File "/usr/lib/python2.7/site-packages/DBUtils-1.1-py2.7.egg/DBUtils/SteadyDB.py", line 190, in _create
con = self._creator(*self._args, **self._kwargs)
File "/usr/lib64/python2.7/site-packages/psycopg2/__init__.py", line 179, in connect
connection_factory=connection_factory, async=async)
OperationalError: 致命错误: 已保留的连接位置为执行非复制请求的超级用户预留

查到数据库使用的活动连接数为90左右,而pg的默认最大连接数MAX_CONNECTION=100,怀疑是数据库连接数过多导致报错。

事实果然如此,老数据库的MAX_CONNECTION=200,并没有使用默认的100。

解决办法:修改配置文件(postgresql.conf)中的默认最大连接数MAX_CONNECTION=200,重启数据库即可。
————————————————
版权声明:本文为CSDN博主「此男子打手枪」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kmust20093211/article/details/48037819/

标签:致命,postgresql,self,py,db,._,File,预留,line
来源: https://www.cnblogs.com/telwanggs/p/13209271.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有