Patroni允许自定义如何创建新副本。它还支持定义当新的空集群启动时做什么操作。
这两者之间的区别非常明确:
- Patroni仅在集群的分布式配置存储(DCS)中存在 initialize 键时才创建副本。
- 如果没有initialize键,Patroni将仅在第一个获取 initialize 键锁定的节点上专门调用引导启动。
Bootstrap(启动新集群)
PostgreSQL提供了 initdb 命令来初始化一个新的集群,Patroni默认会调用它。在某些情况下,特别是当需要创建一个作为现有集群副本的新集群时,有必要用自定义操作替换内置方法。Patroni支持执行用户定义的脚本来引导启动新集群,并向它们提供一些必需的参数,即集群的名称和数据目录的路径。这在Patroni配置的 bootstrap 部分中进行配置。例如:
bootstrap:method: <cust