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

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

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

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

unix_socket_group

设置 Unix 域套接字的所属组。

Sets the owning group of the Unix-domain socket.

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

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

PostgreSQL 18 手册 官方文档

版本轨迹

相对 PostgreSQL 17 仅简述或分类有更新。

默认值变迁

空字符串 9.0 – 20

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

手册说明

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

本版译文与 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 认证与数据库权限。
  • 更改套接字组,但目录遍历权限仍阻止预期客户端访问。

演化历史

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

  1. PostgreSQL 20 ← 19 沿用 19

    事实沿用 19

  2. 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 沿用 空字符串 重启生效 字符串

参考资料

同类参数

参数 类型 上下文 默认值 版本变动 最近变更
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 域套接字的访问权限。 现存