CONFIGURATION PARAMETER连接和认证 / 连接设置
unix_socket_group
设置 Unix 域套接字的所属组。
Sets the owning group of the Unix-domain socket.
字符串 重启生效 引入 9.0(基线) 现存至 20 devel 0 次默认值变更
- 类型
- 字符串string
- 上下文
- 重启生效只能在服务器启动时设置,修改后需要重启
- 默认值
空字符串原始值 ''- 分类
- 连接和认证 / 连接设置
- 引入版本
- 9.0(基线)
- 状态
- 现存
版本轨迹
相对 PostgreSQL 17 仅简述或分类有更新。
默认值变迁
默认值自 PostgreSQL 9.0 起没有变过。带单位的取值换算成了可读形式,原始的 boot_val 与单位写在悬浮提示里。
手册说明
本版译文与 PostgreSQL 14 完全一致,下面就是同一段文字。
设置 Unix 域套接字的所属组(套接字的所属用户总是启动服务器的用户)。可以与选项unix_socket_permissions一起用于对 Unix域连接进行访问控制。默认是一个空字符串,表示服务器用户的默认组。这个参数只能在服务器启动时设置。
Windows 上不支持这个参数。 所有设置会被忽略。 同样,抽象命名空间中的套接字没有文件属主,所以在这种情况下,这个设置也会被忽略。
机制详解
unix_socket_group 设置文件系统 Unix 域套接字的所属组;所有者仍是 PostgreSQL 服务器账号。空字符串使用该账号默认组,unix_socket_permissions 决定哪些组访问位有效。
它属于 POSTMASTER 上下文,更改需要重启,并作用于启动时重建的套接字。目录所有权与遍历权限、组成员以及 pg_hba.conf local 记录仍是独立访问层。
Windows 不支持并会忽略该参数。对 unix_socket_directories 中以 @ 开头的 Linux 抽象命名空间套接字也会忽略,因为它们没有文件系统所有者或组。
调优建议
按典型负载给出的取值思路,不是放之四海皆准的配方:实际取值要看数据量、并发度与硬件。
-
OLTP在线事务处理
只有本地工具确需套接字可达时才选择专用操作系统组,审计组成员,并与 0770 类套接字及目录权限配合;另行测试 pg_hba.conf 认证。
-
OLAP分析与批处理
分析工具应加入同一经评审本地访问组或使用 TCP/TLS;不要为了方便创建宽泛组。
-
小规格低配实例与开发机
除非受管本地客户端需要其他组,否则使用服务器账号默认组。Windows 或抽象套接字会忽略本 GUC,应改为配置实际生效的访问边界。
常见问题
- 期待重载改变套接字所有权;只有服务器重启时才重建套接字。
- 在 Windows 或抽象命名空间套接字上依赖本参数,而它会被忽略。
- 授予套接字组成员资格,却未另行实施 pg_hba.conf 认证与数据库权限。
- 更改套接字组,但目录遍历权限仍阻止预期客户端访问。
演化历史
相邻两个大版本之间的差异,新的在前。版本号链到该版的快照。
-
PostgreSQL 20 ← 19 沿用 19
事实沿用 19
-
PostgreSQL 18 ← 17 仅描述更新
补充说明
The owning user of the socket is always the user that starts the server.The owning user of the socket is always the user that starts the server. An empty string means use the user's default group.
逐版本快照
每个收录版本里的 7 项事实,与上一个存在的版本不同的格子带底色。版本号链到该版。
| 版本 | 默认值 | 单位 | 上下文 | 类型 | 最小值 | 最大值 | 枚举值 |
|---|---|---|---|---|---|---|---|
| 9.0 | 空字符串 |
— |
重启生效 |
字符串 |
— |
— |
— |
| 9.1 | 空字符串 |
— |
重启生效 |
字符串 |
— |
— |
— |
| 9.2 | 空字符串 |
— |
重启生效 |
字符串 |
— |
— |
— |
| 9.3 | 空字符串 |
— |
重启生效 |
字符串 |
— |
— |
— |
| 9.4 | 空字符串 |
— |
重启生效 |
字符串 |
— |
— |
— |
| 9.5 | 空字符串 |
— |
重启生效 |
字符串 |
— |
— |
— |
| 9.6 | 空字符串 |
— |
重启生效 |
字符串 |
— |
— |
— |
| 10 | 空字符串 |
— |
重启生效 |
字符串 |
— |
— |
— |
| 11 | 空字符串 |
— |
重启生效 |
字符串 |
— |
— |
— |
| 12 | 空字符串 |
— |
重启生效 |
字符串 |
— |
— |
— |
| 13 | 空字符串 |
— |
重启生效 |
字符串 |
— |
— |
— |
| 14 | 空字符串 |
— |
重启生效 |
字符串 |
— |
— |
— |
| 15 | 空字符串 |
— |
重启生效 |
字符串 |
— |
— |
— |
| 16 | 空字符串 |
— |
重启生效 |
字符串 |
— |
— |
— |
| 17 | 空字符串 |
— |
重启生效 |
字符串 |
— |
— |
— |
| 18 | 空字符串 |
— |
重启生效 |
字符串 |
— |
— |
— |
| 19 | 空字符串 |
— |
重启生效 |
字符串 |
— |
— |
— |
| 20 沿用 | 空字符串 |
— |
重启生效 |
字符串 |
— |
— |
— |
参考资料
同类参数
| 参数 | 类型 | 上下文 | 默认值 | 版本变动 | 最近变更 |
|---|---|---|---|---|---|
| 连接设置 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 域套接字的访问权限。 | 现存 | ||||