2.Patroni配置
Patroni
配置存储在DCS
(分布式配置存储)中。共有3种配置类型:
-
动态配置
这些选项可以随时在
DCS
中设置。如果更改的选项不是启动配置的一部分,则将它们异步应用(在下一个唤醒周期)到每个节点,随后将其重新加载。如果节点需要重新启动来应用配置(对于上下文postmaster的选项,如果它们的值已更改),则在members.data
的JSON串中设置一个特殊标志pending_restart
来标记。另外,节点状态还可以通过"restart_pending:true"来展示 -
本地配置(patroni.yml)
这些选项在配置文件中定义,并且优先于动态配置。他们通过将
SIGHUP
发送到patroni进程,执行POST/reload
REST-API请求或执行patronictl reload
。他们可以直接修改patroni.yml
并在运行时重新加载。 -
环境配置
可以使用环境变量设置/覆盖某些“本地”配置参数。当您在动态环境中运行并且事先不知道某些参数(例如,在docker内部运行时,无法知道外部IP地址)时,环境配置非常有用。
某些PostgreSQL参数在主数据库和副本数据库上必须具有相同的值。对于这些设置,在本地用户配置文件中设置或通过环境变量设置的值均无效。要更改或设置其值,必须更改DCS中的共享配置。以下是此类参数的实际列表以及默认值: