PostgreSQL配置信息查看修改

文章目录)

  • 通过配置文件
  • 通过SQL命令
    • 查看配置SQL命令
    • 修改配置SQL命令
  • 通过shell命令

通过配置文件

postgresql配置文件在$PGDATA 数据目录下的postgresql.conf中

主服务进程接收到SIGHUP信号后会重新读取配置文件。可以通过命令pg_ctl reload 或者 SQL pg_reload_conf()触发信息。 主服务进程会广播信号给所有当前运行的服务进程中。所以存在的会话也会采用新的值。

打开postgresql.conf修改配置min_wal_size = 100MB并执行如下命令

zhangliang[postgres@localhost /usr/local/pgsql/data]$ pg_ctl reload
server signaled
2023-04-17 16:42:19.875 CST [112069] LOG:  received SIGHUP, reloading configuration files
zhangliang[postgres@localhost /usr/local/pgsql/data]$ 2023-04-17 16:42:19.876 CST [112069] LOG:  parameter "min_wal_size" changed to "100MB"

在psql查看生效情况

postgres=# show min_wal_size;
 min_wal_size 
--------------
 100MB
(1 row)

通过SQL命令

PostgreSQL提供了三个命令修改配置,新会话生效

  • ALTER SYSTEM 系统级别 eg: alter system set work_mem='8MB';
  • ALTER DATABASE 数据库级别 eg: alter database <数据库名> set work_mem='16MB';
  • ALTER ROLE 用户级别 eg: alter role <用户名> set work_mem='8MB';

查看配置SQL命令

  • show 参数名 可以检查当前参数值
  • select * from current_setting('参数名');
  • select * from pg_settings

修改配置SQL命令

  • set 参数名=参数值
  • update pg_settings set setting=<参数值> where name = '<参数名>'

通过shell命令

  • 数据库启动时通过-c命令 ,如下:
    postgres -c log_connections=yes -c log_destination='syslog', 优先级高于postgresql.conf 和 ALTER SYSTEM

  • psql链接时通过PGOPTIONS指定,如下:
    env PGOPTIONS="-c geqo=off -c statement_timeout=5min" psql

文件相关变量说明:

  • data_directory 数据文件目录
  • config_file 服务配置文件
  • hba_file 主机认证文件
  • ident_file 用户名映射配置文件
postgres=# show data_directory;
    data_directory     
-----------------------
 /usr/local/pgsql/data
(1 row)

postgres=# show config_file;
              config_file              
---------------------------------------
 /usr/local/pgsql/data/postgresql.conf
(1 row)

postgres=# show hba_file;
             hba_file              
-----------------------------------
 /usr/local/pgsql/data/pg_hba.conf
(1 row)

postgres=# show ident_file;
             ident_file              
-------------------------------------
 /usr/local/pgsql/data/pg_ident.conf
(1 row)

你可能感兴趣的:(postgresql,postgresql,数据库)