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

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

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

CONFIGURATION PARAMETER连接和认证 / 认证

db_user_namespace

启用按数据库划分的用户名空间。

Enables per-database user names.

布尔 重载生效 引入 9.0(基线) 于 17 移除 0 次默认值变更

类型
布尔bool
上下文
重载生效改配置文件后重载(pg_ctl reload / SIGHUP)即可生效
默认值
off
引入版本
9.0(基线)
状态
于 17 移除

PostgreSQL 16 手册 官方文档

版本轨迹

相对 PostgreSQL 15 无变化。

默认值变迁

off 9.0 – 16

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

手册说明

PostgreSQL 16 手册 · 20.3 连接和认证 本站手册 官方原文

本站未收录 PostgreSQL 16 手册,以下为 PostgreSQL 15 的译文。

开启后,用户名会带有数据库名前缀,从而允许不同数据库中的同名用户共存。默认值为关闭。

机制详解

db_user_namespace:启用按数据库划分的用户名空间。这一遗留功能在内部用 user@database 表示用户,并已于 PostgreSQL 17 移除;它不是现代的租户隔离机制。

db_user_namespace 属于 SIGHUP 上下文:重新加载配置即可在不重启的情况下激活服务器新值,后续读取它的操作使用刷新值。

最终认证路径由该参数与 pg_hba.conf、角色属性、凭据材料、客户端能力,以及某些情况下的操作系统身份服务共同决定。

调优建议

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

  • OLTP在线事务处理

    不应采用或调优 db_user_namespace:它是遗留兼容功能,并已从 PostgreSQL 17 起移除。应迁移到普通集群级角色与显式授权。

  • OLAP分析与批处理

    不要基于 db_user_namespace 构建分析租户隔离;应按边界要求使用角色、模式、数据库与行级安全。

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

    旧版本中保持 db_user_namespace 关闭,并在升级前移除依赖;它没有小节点优化价值。

常见问题

  • 编辑 db_user_namespace 后没有重新加载配置,也没有核对有效值与后续行为。
  • 修改单个认证参数,却未测试 pg_hba.conf 顺序、既有密文、映射与所有客户端库。
  • 为解决应由连接池和容量规划处理的连接抖动或 CPU 成本而削弱身份策略。
  • 没有回滚计划及客户端或运维兼容测试,就全局修改 db_user_namespace。

演化历史

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

  1. PostgreSQL 17 ← 16 移除此参数

    该版起不再存在

  2. PostgreSQL 11 ← 10 仅描述更新

    分类 Connections and Authentication / Security and Authentication Connections and Authentication / Authentication

逐版本快照

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

版本 默认值单位上下文类型最小值最大值枚举值
9.0 off 重载生效 布尔
9.1 off 重载生效 布尔
9.2 off 重载生效 布尔
9.3 off 重载生效 布尔
9.4 off 重载生效 布尔
9.5 off 重载生效 布尔
9.6 off 重载生效 布尔
10 off 重载生效 布尔
11 off 重载生效 布尔
12 off 重载生效 布尔
13 off 重载生效 布尔
14 off 重载生效 布尔
15 off 重载生效 布尔
16 off 重载生效 布尔

参考资料

同类参数

参数 类型 上下文 默认值 版本变动 最近变更
Connections and Authentication 连接和认证 10 个
认证 10
authentication_timeout 整数 重载生效 1 min
设置完成客户端认证所允许的最长时间。 现存
db_user_namespace 布尔 重载生效 off
启用按数据库划分的用户名空间。 于 17 移除
gss_accept_delegation 布尔 重载生效 off
设置是否接受客户端的 GSSAPI 凭据委派。 现存
krb_caseins_users 布尔 重载生效 off
设置 Kerberos 和 GSSAPI 用户名是否按大小写不敏感方式处理。 现存
krb_server_keyfile 字符串 重载生效 FILE:/etc/postgresql-common/krb5.keytab 9.11 次
设置 Kerberos 服务器密钥文件的位置。 现存
md5_password_warnings 布尔 会话 on
启用关于 MD5 密码的弃用警告。 现存
oauth_validator_libraries 字符串 重载生效 空字符串
列出可用于验证 OAuth 2.0 Bearer Token 的库。 现存
password_encryption 枚举 会话 scram-sha-256 142 次
选择生成密码密文时使用的算法。 现存
password_expiration_warning_threshold 整数 重载生效 7 d
设置密码到期告警的提前时间阈值。 现存
scram_iterations 整数 会话 4096
设置生成 SCRAM 密文时使用的迭代次数。 现存