pg_ident.conf

如果 pg_ident.conf 文件存在,则系统会基于文件内容将当前登陆的操作系统用户映射为一个PostgreSQL数据库内部用户的身份来登陆。
 
查看配置文件的位置 
postgres=# select name,setting,context from pg_settings where category='File Locations';
       name        |             setting              |  context   
-------------------+----------------------------------+------------
 config_file       | /data/pgsql_data/postgresql.conf | postmaster
 data_directory    | /data/pgsql_data                 | postmaster
 external_pid_file |                                  | postmaster
 hba_file          | /data/pgsql_data/pg_hba.conf     | postmaster
 ident_file        | /data/pgsql_data/pg_ident.conf   | postmaster
(5 rows)

说明:
context 字段代表作用范围。
(1) superuser 表示超级用户级配置项,只能由超级用户来修改。
修改并且重新加载后会在所有用户会话中生效。非超级用户不能在自己的会话中修改覆盖这个值。
(2) postmaster 更改后需要重启PostgreSQL服务才能生效。
(3) user 表示用户级配置项,可以被每个用户单独修改。该配置项针对每个用户都可以有不同的值。
用户修改后会在自己的所有会话中生效。
 
9.5 版中引入了一个新的 pg_file_settings 视图,通过该视图也可以进行配置信息查询。
查询该视图会列出每个配置项所属的配置文件。其中 applied 字段表示该配置项是否已经生效,如果值为 f,表示需要重启服务器或者重加载配置文件。
如果 postgresql.conf 和 postgresql.auto.conf 中存在同名配置,那么后者会覆盖前者,前者在 pg_file_settings 中对应的条目会显示 applied 字段为 f。
postgres=# SELECT name, sourcefile, sourceline, setting, applied FROM pg_file_settings WHERE name IN ('listen_addresses','shared_buffers') ORDER BY name;  
       name       |            sourcefile            | sourceline | setting | applied 
------------------+----------------------------------+------------+---------+---------
 listen_addresses | /data/pgsql_data/postgresql.conf |         58 | *       | t
 shared_buffers   | /data/pgsql_data/postgresql.conf |        113 | 128MB   | t


 

 

posted @ 2025-06-17 15:22  屠魔的少年  阅读(36)  评论(0)    收藏  举报