listen_addresses
一个 GUC 参数,用于确定要监听的 TCP/IP 地址
listen_addresses 是一个 配置参数,用于确定服务器应监听哪个 TCP/IP 地址或哪些 TCP/IP 地址。
listen_addresses 在 PostgreSQL 8.0 中添加。
用法
listen_addresses 可以由包含一个或多个以下元素的逗号分隔列表组成
- 主机名
- IP 地址(IPv4 和 IPv6)
0.0.0.0 表示服务器应监听所有 IPv4 地址
:: 表示服务器应监听所有 IPv6 地址
* 表示服务器应监听所有可用地址
如果 listen_addresses 被设置为一个空字符串,服务器将不监听任何 IP 接口,并且只能通过 Unix-domain 套接字进行连接。
如果 listen_addresses 包含多个值,它们将按照提供的顺序进行评估。如果后面的值与前面的值冲突,导致无法绑定到指定地址,则会发出一个 LOG 条目。例如,如果 listen_addresses 被设置为 127.0.0.1,*,PostgreSQL 将绑定到 127.0.0.1,但不会绑定到其他 IPv4 地址(但如果可用,则会绑定到所有 IPv6 地址)。请参阅下面的示例。
默认值
listen_addresses 的默认值是:localhost。
按 PostgreSQL 版本详细信息
listen_addresses (PostgreSQL 19)
| 设置 |
localhost |
| 单位 |
|
| 类别 |
连接和身份验证 / 连接设置 |
| 简短描述 |
设置要监听的主机名或 IP 地址。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
localhost |
| 重置值 |
localhost |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:listen_addresses
listen_addresses (PostgreSQL 18)
| 设置 |
localhost |
| 单位 |
|
| 类别 |
连接和身份验证 / 连接设置 |
| 简短描述 |
设置要监听的主机名或 IP 地址。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
localhost |
| 重置值 |
localhost |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:listen_addresses
listen_addresses (PostgreSQL 17)
| 设置 |
localhost |
| 单位 |
|
| 类别 |
连接和身份验证 / 连接设置 |
| 简短描述 |
设置要监听的主机名或 IP 地址。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
localhost |
| 重置值 |
localhost |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:listen_addresses
listen_addresses (PostgreSQL 16)
| 设置 |
localhost |
| 单位 |
|
| 类别 |
连接和身份验证 / 连接设置 |
| 简短描述 |
设置要监听的主机名或 IP 地址。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
localhost |
| 重置值 |
localhost |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:listen_addresses
listen_addresses (PostgreSQL 15)
| 设置 |
localhost |
| 单位 |
|
| 类别 |
连接和身份验证 / 连接设置 |
| 简短描述 |
设置要监听的主机名或 IP 地址。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
localhost |
| 重置值 |
localhost |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:listen_addresses
listen_addresses (PostgreSQL 14)
| 设置 |
localhost |
| 单位 |
|
| 类别 |
连接和身份验证 / 连接设置 |
| 简短描述 |
设置要监听的主机名或 IP 地址。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
localhost |
| 重置值 |
localhost |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:listen_addresses
listen_addresses (PostgreSQL 13)
| 设置 |
localhost |
| 单位 |
|
| 类别 |
连接和身份验证 / 连接设置 |
| 简短描述 |
设置要监听的主机名或 IP 地址。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
localhost |
| 重置值 |
localhost |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:listen_addresses
listen_addresses (PostgreSQL 12)
| 设置 |
localhost |
| 单位 |
|
| 类别 |
连接和身份验证 / 连接设置 |
| 简短描述 |
设置要监听的主机名或 IP 地址。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
localhost |
| 重置值 |
localhost |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:listen_addresses
listen_addresses (PostgreSQL 11)
| 设置 |
localhost |
| 单位 |
|
| 类别 |
连接和身份验证 / 连接设置 |
| 简短描述 |
设置要监听的主机名或 IP 地址。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
localhost |
| 重置值 |
localhost |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:listen_addresses
listen_addresses (PostgreSQL 10)
| 设置 |
localhost |
| 单位 |
|
| 类别 |
连接和身份验证 / 连接设置 |
| 简短描述 |
设置要监听的主机名或 IP 地址。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
localhost |
| 重置值 |
localhost |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:listen_addresses
listen_addresses (PostgreSQL 9.6)
| 设置 |
localhost |
| 单位 |
|
| 类别 |
连接和身份验证 / 连接设置 |
| 简短描述 |
设置要监听的主机名或 IP 地址。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
localhost |
| 重置值 |
localhost |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:listen_addresses
listen_addresses (PostgreSQL 9.5)
| 设置 |
localhost |
| 单位 |
|
| 类别 |
连接和身份验证 / 连接设置 |
| 简短描述 |
设置要监听的主机名或 IP 地址。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
localhost |
| 重置值 |
localhost |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:listen_addresses
listen_addresses (PostgreSQL 9.4)
| 设置 |
localhost |
| 单位 |
|
| 类别 |
连接和身份验证 / 连接设置 |
| 简短描述 |
设置要监听的主机名或 IP 地址。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
localhost |
| 重置值 |
localhost |
| 源文件 |
|
| 源行 |
|
文档:listen_addresses
listen_addresses (PostgreSQL 9.3)
| 设置 |
localhost |
| 单位 |
|
| 类别 |
连接和身份验证 / 连接设置 |
| 简短描述 |
设置要监听的主机名或 IP 地址。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
localhost |
| 重置值 |
localhost |
| 源文件 |
|
| 源行 |
|
文档:listen_addresses
listen_addresses (PostgreSQL 9.2)
| 设置 |
localhost |
| 单位 |
|
| 类别 |
连接和身份验证 / 连接设置 |
| 简短描述 |
设置要监听的主机名或 IP 地址。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
localhost |
| 重置值 |
localhost |
| 源文件 |
|
| 源行 |
|
文档:listen_addresses
listen_addresses (PostgreSQL 9.1)
| 设置 |
localhost |
| 单位 |
|
| 类别 |
连接和身份验证 / 连接设置 |
| 简短描述 |
设置要监听的主机名或 IP 地址。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
localhost |
| 重置值 |
localhost |
| 源文件 |
|
| 源行 |
|
文档:listen_addresses
listen_addresses (PostgreSQL 9.0)
| 设置 |
localhost |
| 单位 |
|
| 类别 |
连接和身份验证 / 连接设置 |
| 简短描述 |
设置要监听的主机名或 IP 地址。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
localhost |
| 重置值 |
localhost |
| 源文件 |
|
| 源行 |
|
文档:listen_addresses
listen_addresses (PostgreSQL 8.4)
| 设置 |
localhost |
| 单位 |
|
| 类别 |
连接和身份验证 / 连接设置 |
| 简短描述 |
设置要监听的主机名或 IP 地址。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
localhost |
| 重置值 |
localhost |
| 源文件 |
|
| 源行 |
|
文档:listen_addresses
listen_addresses (PostgreSQL 8.3)
| 设置 |
|
| 单位 |
|
| 类别 |
连接和身份验证 / 连接设置 |
| 简短描述 |
设置要监听的主机名或 IP 地址。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
文档:listen_addresses
listen_addresses (PostgreSQL 8.2)
| 设置 |
|
| 单位 |
|
| 类别 |
连接和身份验证 / 连接设置 |
| 简短描述 |
设置要监听的主机名或 IP 地址。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
文档:listen_addresses
变更历史
示例
当 listen_addresses 设置为 * 时的日志条目
[2022-08-20 08:28:43 UTC] LOG: 00000: listening on IPv4 address "0.0.0.0", port 5432
[2022-08-20 08:28:43 UTC] LOG: 00000: listening on IPv6 address "::", port 5432
[2022-08-20 08:28:43 UTC] LOG: 00000: listening on Unix socket "/tmp/.s.PGSQL.5432"
[2022-08-20 08:28:43 UTC] LOG: 00000: database system was shut down at 2022-08-20 08:28:43 UTC
[2022-08-20 08:28:43 UTC] LOG: 00000: database system is ready to accept connections
当 listen_addresses 设置为 127.0.0.1,* 时的日志条目
[2022-08-20 09:13:42 UTC] LOG: 00000: listening on IPv4 address "127.0.0.1", port 5432
[2022-08-20 09:13:42 UTC] LOG: XX000: could not bind IPv4 address "0.0.0.0": Address already in use
[2022-08-20 09:13:42 UTC] HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
[2022-08-20 09:13:42 UTC] LOG: 00000: listening on IPv6 address "::", port 5432
[2022-08-20 09:13:42 UTC] LOG: 00000: listening on Unix socket "/tmp/.s.PGSQL.5432"
[2022-08-20 09:13:42 UTC] LOG: 00000: database system was shut down at 2022-08-20 09:13:42 UTC
[2022-08-20 09:13:42 UTC] LOG: 00000: database system is ready to accept connections