PostgreSQL(五)参数与参数文件

本文详细介绍了PostgreSQL中的参数类型、不同参数文件(如postgresql.conf、postgresql.auto.conf)的用途和读取顺序,以及如何查看、修改参数(包括postgresql.conf文件的系统级和重启生效修改,postgresql.auto.conf的动态调整)。还讨论了参数生效的context及其影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、参数类型

二、参数文件

1、查看参数文件路径

2、查看所有的pg参数

3、修改参数

(1)修改postgresql.conf参数文件

(2)修改postgresql.auto.conf文件

(3)参数生效条件(context)


一、参数类型

1、显式:在文件中对参数进行设置

2、隐式:文件中没有设置,使用Postgres的缺省值

二、参数文件

静态参数文件:postgresql.conf

动态参数文件:postgresql.auto.conf

可选参数文件:postgresql.conf.user

读取顺序:postgresql.conf -> postgresql.auto.conf -> postgresql.conf.user

1、查看参数文件路径

默认位置$PGDATA

postgres=# show config_file;
              config_file              
---------------------------------------
 /data/postgresql/data/postgresql.conf
(1 行记录)

2、查看所有的pg参数

可以使用数据字典pg_settings查看数据库参数信息,例如:

postgres=# select name,setting,context from pg_settings limit 10;   
            name            |                  setting                   |  context   
----------------------------+--------------------------------------------+------------
 allow_in_place_tablespaces | off                                        | superuser
 allow_system_table_mods    | off                                        | superuser
 application_name           | psql                                       | user
 archive_cleanup_command    |                                            | sighup
 archive_command            | cp %p /data/postgresql/data/pg_wal/arch/%f | sighup
 archive_mode               | on                                         | postmaster
 archive_timeout            | 0                                          | sighup
 array_nulls                | on                                         | user
 authentication_timeout     | 60                                         | sighup
 autovacuum                 | on                                         | sighup
(10 行记录)

3、修改参数

(1)修改postgresql.conf参数文件

文本文件,使用操作系统编辑器 手动修改(vim);

仅在实例启动期间读取,更改后重启生效。

(2)修改postgresql.auto.conf文件

文本文件,由postgres服务维护;

能够在关闭和启动期间持续进行更改,可以实现自我调整参数值;

支持文本编辑器修改但不推荐

alter system命令修改的参数保存在该文件

postgres=# \h alter system set
命令:       ALTER SYSTEM
描述:       更改服务器的配置参数
语法:
ALTER SYSTEM SET 配置参数 { TO | = } { 值 | '值' | DEFAULT }
ALTER SYSTEM RESET 配置参数
ALTER SYSTEM RESET ALL

URL: https://www.postgresql.org/docs/14/sql-altersystem.html

(3)参数生效条件(context)

可以根据pg_settings表中context的内容来判断参数修改生效的条件

postgres=# select name,setting,context from pg_settings limit 10;
            name            |                  setting                   |  context   
----------------------------+--------------------------------------------+------------
 allow_in_place_tablespaces | off                                        | superuser
 allow_system_table_mods    | off                                        | superuser
 application_name           | psql                                       | user
 archive_cleanup_command    |                                            | sighup
 archive_command            | cp %p /data/postgresql/data/pg_wal/arch/%f | sighup
 archive_mode               | on                                         | postmaster
 archive_timeout            | 0                                          | sighup
 array_nulls                | on                                         | user
 authentication_timeout     | 60                                         | sighup
 autovacuum                 | on                                         | sighup
(10 行记录)

###
sighup:需要超级管理员修改,reload生效
superuser:用超级管理员可以为普通用户、数据库、超级管理员自己修改。有些参数可以针对用户、数据库、实例。
postmaster:需要超级管理员修改,重启生效
user:普通用户可以修改,立即生效
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值