惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Vercel News
Vercel News
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
雷峰网
雷峰网
有赞技术团队
有赞技术团队
罗磊的独立博客
博客园 - 叶小钗
Jina AI
Jina AI
博客园 - 司徒正美
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Tailwind CSS Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
人人都是产品经理
人人都是产品经理
Apple Machine Learning Research
Apple Machine Learning Research
阮一峰的网络日志
阮一峰的网络日志
Microsoft Security Blog
Microsoft Security Blog
大猫的无限游戏
大猫的无限游戏
量子位
MyScale Blog
MyScale Blog
V
Visual Studio Blog
博客园 - 聂微东
The Cloudflare Blog
Engineering at Meta
Engineering at Meta
小众软件
小众软件
宝玉的分享
宝玉的分享

博客园 - MSSQL123

timescaledb 扩展 PostgreSQL 18+ 版本下源码编译安装 ubuntu24下 ext4和xfs类型磁盘以及PostgreSQL实例性能对比测试 PostgreSQL 18 新特性 skip scan,一个鸡肋的功能 PostgreSQL 17 流复制中开启逻辑复制槽同步,以及逻辑槽的故障转移 记一次PostgreSQL交叉表crosstab行转列导致的OOM TiDB 扩容与缩容 PostgreSQL 高可用集群 patroni 自动故障转移测试 Ubuntu 20 环境下 patroni 自动化安装,一分钟快速搭建 patroni 集群 Ubuntu 20 环境下 pg_auto_failover 自动化安装,一分钟快速搭建pg_auto_failover集群 PostgreSQL的消息队列扩展pgmq 磁盘IO延迟和队列深度的关系 TiDB 最小拓扑架构集群安装 PostgreSQL 逻辑复制中的同步和异步模式以及其表现 prometheus 的 altermanager Silences静默告警,优雅地抑制告警 “世界上百分之99的博士和他们的论文都是垃圾”,原本以为这个观点偏激 pg_auto_failover 在多种场景下自动故障转移的验证 pgbouncer连接池设置与压力测试的最大连接数测试 pg_auto_failover 自动故障转移参数 博文阅读密码验证 - 博客园 pg_auto_failover集群monitor节点的高可用 prometheus监控Linux Server node_exporter代理安装和配置 prometheus监控windows window_exporter代理安装和配置 Prometheus 和 Grafana 监控 PostgreSQL 记一次MySQL binlog日志导致磁盘空间占满的问题 SQLServer 2019 标准版在虚拟机上无法充分利用CPU的问题诊断 Windows Failover Cluster集群中的EventId 1196错误日志 pg_auto_failover 环境变量导致的show命令错误 SqlServer 事务复制(transaction replication)的复制位点信息 SqlServer 事务复制的两个参数immediate_sync,allow_anonymous MySQL,SqlServer,PostgreSQL中,如何实现锁定一张表
pg_auto_failover 高可用中,PostgreSQL实例配置文件的加载步骤
MSSQL123 · 2026-03-25 · via 博客园 - MSSQL123

在pg_auto_failover高可用架构中,由于采用pg_auto_failover的服务启动Postgresql,用pg_autoctl初始化Postgresql实例之后,也会创建一个配置文件postgresql-auto-failover.conf,如下。
那么,目前受pg_auto_failover托管的Postgresql实例一共有三个配置文件,如下:
postgresql.conf
postgresql.auto.conf
postgresql-auto-failover.conf

对于postgresql.conf和postgresql.auto.conf,可以很清楚地知道postgresql.auto.conf的优先级高于postgresql.conf,也就是说postgresql.auto.conf的配置会覆盖postgresql.conf中的配置(如果有相同的配置项的情况下)


root@ubuntu12:/usr/local# psql -h localhost -p 9300 postgres postgres
Password for user postgres:
psql (16.4)
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, compression: off)
Type "help" for help.

postgres=#
postgres=# select distinct sourcefile  from pg_settings;
                          sourcefile
--------------------------------------------------------------

 /usr/local/pgsql16/pg9300/data/postgresql.auto.conf
 /usr/local/pgsql16/pg9300/data/postgresql.conf
 /usr/local/pgsql16/pg9300/data/postgresql-auto-failover.conf
(4 rows)

postgres=#

image

但是目前又多了一个postgresql-auto-failover.conf,这个配置文件的实例如下,以笔者的测试环境为例,这也是一个标准的Postgresql配置文件,那么这个postgresql-auto-failover.conf配置文件与Postgresql实力自身的两个配置文件,优先级是怎么样的?
image

以shared_buffers为例,验证case如下

1,直接修改postgresql.conf中的shared_buffers配置项然后重启pgautofailover实例,修改生效
2,通过sql语句ALTER SYSTEM SET shared_buffers = '512MB';重启pgautofailover实例,修改生效,改配置会自动修改postgresql.auto.conf配置文件

以上两个修改,在物理文件层面分别修改了postgresql.conf和postgresql.auto.conf,但是重启后,并没有自动修改postgresql-auto-failover.conf,说明postgresql-auto-failover.conf的优先级低于postgresql.conf。
而postgresql.conf优先级又低于postgresql.auto.conf,所以这三个配置文件的优先级顺序就很清楚了
postgresql.auto.conf最高;postgresql.conf次之;postgresql-auto-failover.conf最低。