在实际项目中 postgres 数据库 会出现超连接数,超出 postgres 默认100个连接数
org.postgresql.util.PSQLException: FATAL: sorry, too many clients already.
运行此 SQL 以查看允许的 postgresql 最大连接数:
show max_connections;
默认值为 100。良好硬件上的 PostgreSQL 一次可以支持几百个连接。如果你想拥有数千个,你应该考虑使用连接池软件来减少连接开销。
看看究竟是谁/什么/何时/何地打开了您的连接:
SELECT * FROM pg_stat_activity;
当前使用的连接数为:
SELECT COUNT(*) from pg_stat_activity;
如何将 max_connections 设置得更高:
postgresql.conf 中的 max_connections 设置到数据库服务器的最大并发连接数。
- 首先找到你的 postgresql.conf 文件
- 如果你不知道它在哪里,用sql查询数据库:
SHOW config_file;
- 我的是在:
/var/lib/pgsql/data/postgresql.conf
- 以 root 身份登录并编辑该文件。
- 搜索字符串:“max_connections”。
- 你会看到一行写着
max_connections=100
。 - 将该数字设置得更大,检查您的 postgresql 版本的限制。
- 重新启动 (在服务中)postgresql 数据库以使更改生效。