在 PostgreSQL 中,本地连接通常指通过 psql 客户端连接到本地的 PostgreSQL 数据库实例。连接后,可以使用 SQL 查询来查看当前数据库实例的连接数以及其他相关信息。

1. 如何本地连接 PostgreSQL

你可以通过以下方式本地连接到 PostgreSQL:

(1)使用命令行工具 psql

打开终端并执行以下命令:

psql -U <username> -d <dbname>
  • -U <username>:指定 PostgreSQL 用户名。
  • -d <dbname>:指定要连接的数据库名。

如果 PostgreSQL 使用默认配置,连接到本地数据库不需要指定 IP 或端口,默认端口是 5432。例如:

psql -U postgres -d postgres

该命令使用 PostgreSQL 内置的 postgres 用户和连接默认的 postgres 数据库。

(2)连接时省略数据库名

如果数据库名和用户名一致,可以省略 -d 参数,例如:

psql -U myuser

(3)进入数据库后可执行 SQL 查询

连接后,你会进入 PostgreSQL 的交互模式,在提示符 dbname=# 下输入 SQL 和命令。


2. 查看 PostgreSQL 连接数

方法 1:使用系统视图查询连接数

PostgreSQL 提供内置的系统视图 pg_stat_activity,可以通过以下 SQL 查询查看当前连接数:

SELECT COUNT(*) AS total_connections
FROM pg_stat_activity;

❯ 说明:

  • pg_stat_activity 是 PostgreSQL 的动态统计视图,列出了当前正在连接的会话信息。

方法 2:分组统计连接数

如果想根据数据库名称或状态查看连接数细分,可以添加分组条件:

SELECT datname AS database_name, COUNT(*) AS connections
FROM pg_stat_activity
GROUP BY datname;

这里将按照数据库名称 (datname) 对连接数进行统计。

方法 3:查看最大连接数(限制值)

通过以下 SQL 查看 PostgreSQL 配置中的最大连接数:

SHOW max_connections;

方法 4:查看每个用户的连接数

如果想统计每个用户的连接数,可以使用以下查询:

SELECT usename AS username, COUNT(*) AS connections
FROM pg_stat_activity
GROUP BY usename;

3. PostgreSQL 连接注意事项

(1)配置文件

PostgreSQL 的连接参数通常可以在配置文件 postgresql.conf 中设置。可以通过以下命令查看当前配置文件的位置:

SHOW config_file;

默认情况下,配置文件通常位于 /etc/postgresql/<version>/main/postgresql.conf 或类似路径。

(2)远程连接限制

如果需要支持远程连接,需要确保 pg_hba.conf 文件已经允许目标 IP 地址的连接,并且监听地址设置为 * 或特定 IP。

(3)关闭空闲连接

PostgreSQL 中的连接资源是有限的,可以通过调整参数或配置来关闭长时间保持活跃但空闲的连接:

SELECT pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE state = 'idle';

总结

通过 psql本地连接到 PostgreSQL 后,可以使用 pg_stat_activity 查询具体连接数,以及通过配置和监控查看相关参数(如最大连接数)。这些信息在优化数据库连接和性能时非常重要。



postgresql如何本地连接并查看连接数插图

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:http://www.choupangxia.com/2025/08/02/postgresql-show-connections/