重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 342|回复: 0
打印 上一主题 下一主题

postgres参数生效的几种方式

[复制链接]
跳转到指定楼层
楼主
发表于 2025-9-13 19:53:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
很多情况下需要修改$PGDATA下的postgresql.conf文件中的参数,有的改过之后需要重启postgres,有的只需要reload。
postgres参数一共有7种类型,可以通过pg_settings视图查看,这7中类型的如下:
postgres=# select distinct context from pg_settings;
      context     
-------------------
backend
user
internal
postmaster
superuser
sighup
superuser-backend
(7 rows)


其中
internal: 编译期间的设置,只有重新编译才能生效。
postmaster: 只有服务重启才能生效。
sighup: 不需要重启数据库,但要向postmaster进程发送sighup信号,即需要pg_ctl reload命令
backend:无需重启数据库,只需向postmaster进程发送sighup信号。但新的配置值只能在之后的新连接中生效,已有连接中这些参数值不会改变
superuser: 使用superuser(如postgres)才能更改,不用重新加载所有配置即可生效。这类参数可以由超级用户使用set修改。参数设置后只会影响超级用户自身的session配置,不会影响其他用户。
user: 单个会话用户可以在任意时间做修改,只会影响该会话。
superuser-backend




其中重新加载生效的方式如下:
1. 用超级用户运行
postgres=# SELECT pg_reload_conf();


2. 用UNIX的kill手动发起HUP信号
$kill -HUP PID


3.使用pg_ctl命令触发SIGHUP信号
$pg_ctl reload


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2026-4-18 03:02 , Processed in 0.283885 second(s), 21 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表