选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

文档 / 配置参数 / 连接和认证

CONFIGURATION PARAMETER连接和认证 / 连接设置

listen_addresses

设置服务器监听的主机名或 IP 地址。

Sets the host name or IP address(es) to listen to.

字符串 重启生效 引入 9.0(基线) 现存至 20 devel 0 次默认值变更

类型
字符串string
上下文
重启生效只能在服务器启动时设置,修改后需要重启
默认值
localhost
引入版本
9.0(基线)
状态
现存

PostgreSQL 18 手册 官方文档

版本轨迹

相对 PostgreSQL 17 无变化。

默认值变迁

localhost 9.0 – 20

默认值自 PostgreSQL 9.0 起没有变过。带单位的取值换算成了可读形式,原始的 boot_val 与单位写在悬浮提示里。

手册说明

PostgreSQL 18 手册 · 19.3 连接和认证 本站手册 官方原文

指定服务器用于监听来自客户端应用程序的连接的TCP/IP地址(指服务器网卡IP地址)。 该值采用逗号分隔的主机名和/或数字IP地址的形式。特殊条目*对应于所有可用的IP接口。 条目0.0.0.0允许监听所有IPv4地址,::允许监听所有IPv6地址。 如果列表为空,则服务器不会在任何IP接口上监听,此时只能使用Unix域套接字进行连接。 如果列表不为空,则服务器将在至少一个TCP/IP地址上可以监听时启动。 对于任何无法打开的TCP/IP地址,将发出警告。 默认值为localhost,仅允许进行本地TCP/IP回环连接。

在客户端认证(Chapter 20)允许对谁可以访问服务器进行细粒度控制的同时,listen_addresses 控制哪些接口接受连接尝试,这可以帮助防止在不安全的网络接口上重复恶意连接请求。此参数只能在服务器启动时设置。

机制详解

listen_addresses:设置服务器监听的主机名或 IP 地址。服务器启动时绑定所列接口;是否可达仍取决于 port、pg_hba.conf、主机防火墙与网络路由。

listen_addresses 属于 POSTMASTER 上下文:PostgreSQL 在服务器启动时读取它,重新加载配置或会话 SET 都不能使新值生效。

监听端点在启动时由 listen_addresses 与 port 组合,而 pg_hba.conf、TLS、防火墙、路由与服务发现决定哪些客户端能够使用。

调优建议

按典型负载给出的取值思路,不是放之四海皆准的配方:实际取值要看数据量、并发度与硬件。

  • OLTP在线事务处理

    按服务拓扑设置 listen_addresses,只暴露必要接口或端口,并联合验证连接池、健康检查、pg_hba.conf、防火墙、故障转移与重启顺序。

  • OLAP分析与批处理

    需要隔离时使用明确的分析端点或网络,但在各故障转移目标间保持连接信息一致。

  • 小规格低配实例与开发机

    除非需要远程访问,否则优先仅本地暴露;修改 listen_addresses 并重启前保留经过测试的管理路径。

常见问题

  • 期待重新加载或 SET 激活 listen_addresses,而它实际需要受控重启服务器。
  • 误以为绑定地址或端口会授予访问权限;pg_hba.conf 与操作系统或网络控制仍然生效。
  • 修改仅启动时生效的端点,却未同步服务发现、健康检查、防火墙、客户端与管理恢复路径。
  • 没有回滚计划及客户端或运维兼容测试,就全局修改 listen_addresses。

演化历史

相邻两个大版本之间的差异,新的在前。版本号链到该版的快照。

  1. PostgreSQL 20 ← 19 沿用 19

    事实沿用 19

逐版本快照

每个收录版本里的 7 项事实,与上一个存在的版本不同的格子带底色。版本号链到该版。

版本 默认值单位上下文类型最小值最大值枚举值
9.0 localhost 重启生效 字符串
9.1 localhost 重启生效 字符串
9.2 localhost 重启生效 字符串
9.3 localhost 重启生效 字符串
9.4 localhost 重启生效 字符串
9.5 localhost 重启生效 字符串
9.6 localhost 重启生效 字符串
10 localhost 重启生效 字符串
11 localhost 重启生效 字符串
12 localhost 重启生效 字符串
13 localhost 重启生效 字符串
14 localhost 重启生效 字符串
15 localhost 重启生效 字符串
16 localhost 重启生效 字符串
17 localhost 重启生效 字符串
18 localhost 重启生效 字符串
19 localhost 重启生效 字符串
20 沿用 localhost 重启生效 字符串

参考资料

同类参数

参数 类型 上下文 默认值 版本变动 最近变更
Connections and Authentication 连接和认证 11 个
连接设置 11
bonjour 布尔 重启生效 off
启用通过 Bonjour 广播服务器。 现存
bonjour_name 字符串 重启生效 空字符串
设置 Bonjour 服务名称。 现存
listen_addresses 字符串 重启生效 localhost
设置服务器监听的主机名或 IP 地址。 现存
max_connections 整数 重启生效 100 9.62 次
设置数据库并发连接的最大数量。 现存
port 整数 重启生效 5432
设置服务器监听的 TCP 端口。 现存
reserved_connections 整数 重启生效 0
设置为具有 pg_use_reserved_connections 权限的角色保留的连接槽数量。 现存
superuser_reserved_connections 整数 重启生效 3 9.62 次
设置为超级用户保留的连接槽数量。 现存
unix_socket_directories 字符串 重启生效 /var/run/postgresql
设置创建 Unix 域套接字的目录。 现存
unix_socket_directory 字符串 重启生效 空字符串
设置创建 Unix 域套接字的目录。 于 9.3 移除
unix_socket_group 字符串 重启生效 空字符串
设置 Unix 域套接字的所属组。 现存
unix_socket_permissions 整数 重启生效 511
设置 Unix 域套接字的访问权限。 现存