PostgreSQL 配置文件概述

1. postgresql.conf
该文件包含一些通用设置。
比如内存分配、新建比如内存分配、新建 database 的默认存储位置、PostgreSQL服务器的IP地址、日志的位置等。

PostgreSQL 9.4 版本之后,可以使用 ALTER SYSTEM 修改 postgresql.conf 中配置项的值。
例如:
ALTER SYSTEM SET work_mem = '500MB';

该命令不会直接修改postgresql.conf 文件,而是会去修改 postgresql.auto.conf 文件。
然后执行下面命令实现重新加载:
SELECT pg_reload_conf();

2. pg_hba.conf
该文件用于控制PostgreSQL服务器的访问权限。
具体包括:允许哪些用户连接到哪个数据库,允许哪些IP地址连接到本服务器,
以及指定连接时使用的身份验证模式。

3. 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 @ 2020-03-31 15:56  屠魔的少年  阅读(237)  评论(0)    收藏  举报