PostgreSQL pg_ident.conf 文件简析

上回说到《PostgreSQL pg_hba.conf 文件简析》,里面讲到ident认证方式,需要建立映射用户或具备同名用户。

同名用户好办,各新建一个同名的操作系统用户和数据库用户,两个用户密码不必相同,但名字必须相同。用该用户登录到操作系统或su到该用户后,即可$ psql dbname。

如果不想新建同名用户,也可以配置pg_ident.conf文件。pg_ident.conf用来配置哪些操作系统用户可以映射为数据库用户。本文以PostgreSQL 9为例。

pg_ident.conf的格式如下:

1
2
# MAPNAME    SYSTEM-USERNAME    PG-USERNAME
usermap      username           dbuser

usermap为映射名,要在pg_hba.conf中用到,多个映射可以共用同一个映射名,username为操作系统用户名,dbuser为映射到的数据库用户。

 

例:操作系统用户userzy,使用数据库用户dbzy连接数据库,而操作系统用户userok,使用数据库用户dbok连接数据库。

pg_ident.conf如下:

1
2
3
# MAPNAME    SYSTEM-USERNAME    PG-USERNAME
mapzy    userzy        dbzy
mapzy    userok        dbok

pg_hba.conf如下:

1
2
# TYPE  DATABASE  USER  CIDR-ADDRESS  METHOD
local    all      all                 ident  map=mapzy

map为pg_hba.conf的auth-options项,map=mapzy指示该认证条件使用mapzy映射。指定映射后原本的同名操作系统用户就不能连接数据库了。

posted @   邱明成  阅读(1019)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
历史上的今天:
2019-04-05 Windows平台编译MySQL5.7源码
2016-04-05 spring boot1.3.0版本及以上版本profile指定参数无法被打入
点击右上角即可分享
微信分享提示