连接数据库或Master主备倒换异常
问题现象描述
连接数据库或Master主备倒换异常,出现如下报错信息:
FATAL: remaining connection slots are reserved for non-replication superuser connections
关键过程、根本原因分析
数据库“postgresql.conf”配置文件中“max_connections”设置过小,管理员需要手动修改该配置项。
结论、解决方案及效果
- 使用PuTTY工具,以DonauKit运维登录用户(如donau_guest)登录服务器。
- 执行以下命令,切换至root帐户,并按提示输入用户密码。
su - root
- 修改数据库最大连接数。DB HA场景,修改任意数据库节点配置文件即可。
- 执行以下命令,修改“postgresql.conf”配置文件。
vi /usr/local/postgresql/data/postgresql.conf
其中:
- “/usr/local/postgresql/data”是数据库PGDATA路径,麒麟环境为“/var/lib/pgsql/data”。
- HA场景为共享目录,请用户根据配置文件实际所在目录输入命令。
- 按“i”进入编辑模式,修改“max_connections”文件配置项。
根据实际情况修改数据库最大连接数,确保最大连接数大于Donau Scheduler配置连接数,如下为示例:
max_connections = 1000 # (change requires restart)
Donau Scheduler数据库配置可查看“/opt/batch/master/conf/master.properties”配置文件中“db.connectNum”配置项,该配置项默认不显示。若未显式配置,则以缺省值200为准。
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 执行以下命令,修改“postgresql.conf”配置文件。
- 配置文件修改完成后,重新加载配置文件。
- 非DB HA场景
- DB HA场景
- 重启数据库服务后,可查看配置是否生效。
- 使用PuTTY工具,以DonauKit运维登录用户(如donau_guest)登录数据库节点。
- 执行以下命令,切换至root帐户,并按提示输入用户密码。
su - root
- 执行以下命令,切换至postgres用户。
su - postgres
- 执行以下命令,进入数据库控制台。
输入数据库管理员用户postgres的密码:
Password for user postgres:
“15432”表示数据库端口号,请根据实际规划修改。
- 执行以下命令,可查看设置的最大连接数。
如下为示例:
max_connections ----------------- 1000 (1 row)
- 执行以下命令,退出数据库。