postgresql如何查看当前连接数
在 PostgreSQL 中,可以使用以下方法查看当前连接数:
通过 SQL 语句查看当前连接数
查看总连接数
运行以下 SQL 查询,统计当前所有连接数:
SELECT COUNT(*) AS total_connections
FROM pg_stat_activity;
pg_stat_activity
是一个系统视图,包含了与 PostgreSQL 数据库实例的所有连接会话的信息。
按数据库查看连接数
如果想查看每个数据库的连接数,可以分组统计连接会话:
SELECT datname AS database_name, COUNT(*) AS connections
FROM pg_stat_activity
GROUP BY datname;
datname
表示数据库名称。- 结果会返回每个数据库的连接数统计。
按用户查看连接数
如果想统计每个用户所占连接数,可以使用以下 SQL 查询:
SELECT usename AS username, COUNT(*) AS connections
FROM pg_stat_activity
GROUP BY usename;
usename
表示数据库用户名称。
查看空闲连接数
如果关注状态为 idle
的空闲连接(连接已建立,但未执行任何操作),可以运行以下查询:
SELECT state, COUNT(*) AS count
FROM pg_stat_activity
GROUP BY state;
- 常见的状态:
active
:正在执行查询的连接。idle
:空闲的连接。
通过 PostgreSQL 管理工具查看连接数
- 如果使用图形化数据库管理工具(如
pgAdmin
),可以点击服务器节点下 “Statistics” 或 “Dashboard”,在界面中查看连接会话相关信息。
通过操作系统命令查看连接数
PostgreSQL 通常在默认端口 5432
上运行,你可以使用以下命令通过系统层面查看连接数。
查看端口连接数
运行以下 netstat
命令,统计当前连接到 PostgreSQL 默认端口的会话:
netstat -an | grep 5432 | wc -l
- 该命令会返回本地 PostgreSQL 端口的连接数统计。
查看具体连接(带 IP)
如果你需要查看具体哪些客户端或 IP 地址连接到了数据库,可以运行以下命令:
netstat -an | grep 5432
查看最大连接数
PostgreSQL 限制了每个实例的最大连接数,默认情况下为 100
。你可以运行以下 SQL 查看当前最大连接数配置:
SHOW max_connections;
- 如果需要调整该值,可以修改
postgresql.conf
文件中的max_connections
参数,并重启数据库。
关闭空闲连接
如果发现有大量空闲连接(状态为 idle
),可以尝试关闭这些连接。以下 SQL 可以强制关闭所有空闲连接:
SELECT pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE state = 'idle';
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接
本文链接:https://choupangxia.com/2025/08/02/postgresql-show-max-connections/