在實際項目中 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 數據庫以使更改生效。