什么时候该用这个 pg_ident.conf?
用来恢复缺失的默认文件、确认发行版本带了什么,或拿你的 PostgreSQL config 做 diff。
# PostgreSQL User Name Maps # ========================= # # --------------- # Mapping Records # --------------- # # Refer to the PostgreSQL documentation, chapter "Client # Authentication" for a complete description. A short synopsis # follows. # # This file controls PostgreSQL user name mapping. It maps external # user names to their corresponding PostgreSQL user names. Records # are of the form: # # MAPNAME SYSTEM-USERNAME PG-USERNAME # # (The uppercase quantities must be replaced by actual values.) # # MAPNAME is the (otherwise freely chosen) map name that was used in # pg_hba.conf. SYSTEM-USERNAME is the detected user name of the # client. PG-USERNAME is the requested PostgreSQL user name. The # existence of a record specifies that SYSTEM-USERNAME may connect as # PG-USERNAME. # # If SYSTEM-USERNAME starts with a slash (/), it will be treated as a # regular expression. Optionally this can contain a capture (a # parenthesized subexpression). The substring matching the capture # will be substituted for \1 (backslash-one) if present in # PG-USERNAME. # # PG-USERNAME can be "all", a user name, a group name prefixed with "+", or # a regular expression (if it starts with a slash (/)). If it is a regular # expression, the substring matching with \1 has no effect. # # Multiple maps may be specified in this file and used by pg_hba.conf. # # No map names are defined in the default configuration. If all # system user names and PostgreSQL user names are the same, you don't # need anything in this file. # # --------------- # Include Records # --------------- # # This file allows the inclusion of external files or directories holding # more records, using the following keywords: # # include FILE # include_if_exists FILE # include_dir DIRECTORY # # FILE is the file name to include, and DIR is the directory name containing # the file(s) to include. Any file in a directory will be loaded if suffixed # with ".conf". The files of a directory are ordered by name. # include_if_exists ignores missing files. FILE and DIRECTORY can be # specified as a relative or an absolute path, and can be double-quoted if # they contain spaces. # # ------------------------------- # Miscellaneous # ------------------------------- # # This file is read on server startup and when the postmaster receives # a SIGHUP signal. If you edit the file on a running system, you have # to SIGHUP the postmaster for the changes to take effect. You can # use "pg_ctl reload" to do that. # Put your actual configuration here # ---------------------------------- # MAPNAME SYSTEM-USERNAME PG-USERNAME
curl https://exampleconfig.com/api/v1/config/original/a851d3eebbf853c646a25d241dd16767?hint=pg_ident.conf
wget -O pg_ident.conf https://exampleconfig.com/api/v1/config/original/a851d3eebbf853c646a25d241dd16767?hint=pg_ident.conf
<prompt><role>DevOps agent</role><source url='https://exampleconfig.com/api/v1/config/original/a851d3eebbf853c646a25d241dd16767?hint=pg_ident.conf' /><config><app>PostgreSQL</app><os>Ubuntu 24.04 LTS (Noble Numbat)</os><location>/etc/postgresql/17/main/pg_ident.conf</location><lines>72</lines><md5>a851d3eebbf853c646a25d241dd16767</md5><sha256>b4dfef08731a7d20a3bb724ad4cf3e1cd91ec01fbe51349c6a3acc5704072965</sha256></config></prompt>
粘贴到 Claude、ChatGPT 或任何 AI 助手里。
sudo apk add postgresql
sudo apt update && sudo apt install postgresql
sudo yum install postgresql17-server
sudo apt update && sudo apt install postgresql
什么时候该用这个 pg_ident.conf?
用来恢复缺失的默认文件、确认发行版本带了什么,或拿你的 PostgreSQL config 做 diff。
怎么恢复 PostgreSQL 的默认配置?
下载文件,把 /etc/postgresql/17/main/pg_ident.conf 里的当前配置备份好,替换掉,然后 reload 或 restart PostgreSQL。
pg_ident.conf 适合直接上生产吗?
这是 Ubuntu 24.04 LTS (Noble Numbat) 的厂商默认配置,只能当基线。上生产前请检查安全和性能设置。
和其他 OS 版本有什么不同?
默认值会随发行版和版本变化,这份对应 Ubuntu 24.04 LTS (Noble Numbat)。
我可以用它来排查 PostgreSQL 吗?
可以。和你的配置做 diff 找出漂移,然后只恢复需要的段落。