【小工具】 - 解决postgres数据库remaining connection slots are reserved for non-replication superuser connectio

【小工具】 - 解决postgres数据库remaining connection slots are reserved for non-replication superuser connectio,第1张

【小工具】 - 解决postgres数据库remaining connection slots are reserved for non-replication superuser connectio psycopg2.OperationalError: FATAL: remaining connection slots are reserved for non-replication superuser connection 报错信息
Traceback (most recent call last):
  File "/opt/wavepoint/agent/main.py", line 9, in 
    from monitor import moduleMonitor
  File "/opt/wavepoint/agent/monitor/moduleMonitor.py", line 26, in 
    from helper.helper_postgresql import postgres_helper
  File "/opt/wavepoint/agent/helper/helper_postgresql.py", line 15, in 
    postgres_helper = DBHelper(
  File "/opt/wavepoint/agent/helper/helper_db.py", line 26, in __init__
    self.get_client()
  File "/opt/wavepoint/agent/helper/helper_db.py", line 151, in get_client
    connection = psycopg2.connect(
  File "/opt/wavepoint/data-engine/external-libraries/psycopg2/__init__.py", line 127, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: FATAL:  remaining connection slots are reserved for non-replication superuser connections
问题分析

从字面意思理解来看,是由于超级用户连接数过多导致的问题。可以增加超级用户连接数限制,或者改用非超级用户进行业务 *** 作(最大连接数设置大一些,比如20000)。

解决方案 解决方案一、增加超级用户连接数

vi /var/lib/postgresql/data/postgresql.conf

max_connections = 20000             
superuser_reserved_connections = 10000    
reserved_user_name = 'airflow' 

reserved_user_name为预留用户。

解决方案二、增加普通用户连接数

vi /var/lib/postgresql/data/postgresql.conf

max_connections = 20000             
superuser_reserved_connections = 100    
reserved_user_name = 'postgres' 

reserved_user_name为系统内置用户。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4685840.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-07
下一篇 2022-11-07

发表评论

登录后才能评论

评论列表(0条)

保存