我有3台Ubuntu19.10、PostgreSQL 12.2和Patroni1.6.4的服务器,我希望设置如下:
我希望有两台具有同步复制的服务器,并且我想添加第三台服务器,其中包含pglogical,只是为了接受对特定表的插入。不删除、截断或其他任何东西。
我每天记录大量的购物,大约3亿英镑。我想要有服务器已经有过去30天的采购历史,而第三服务器有一个很大的存储,将保存所有的历史购买。
到目前为止,对于具有以下配置的2台服务器,我有一个带有etcd的赞助人集群:
对于第一台和第二台服务器,我有以下配置,当然,服务器的名称在每个配置中都不同:
scope: patroni_cluster_1
name: server_X
restapi:
listen: 0.0.0.0:8008
connect_address: X.X.X.X:8008
etcd:
hosts: X.X.X.X:2379
protocol: http
bootstrap:
dcs:
ttl: 30
loop_wait: 10
retry_timeout : 10
maximum_lag_on_failover: 1048576
postgresql:
use_pg_rewind: true
use_slots: true
parameters:
wal_keep_segments: 100
initdb:
- encoding: UTF8
- data-checksums
pg_hba:
- host replication replicator 0.0.0.0/0 md5
- host all all 0.0.0.0/0 md5
postgresql:
listen: 0.0.0.0:5432
connect_address: X.X.X.X:5432
synchronous_mode: true
synchronous_mode_strict: false
data_dir: /var/lib/postgresql/patroni_cluster_1/server_X/data
bin_dir: /usr/lib/postgresql/12/bin
authentication:
replication:
username: replicator
password: XXXX
superuser:
username: postgres
password: XXXX
parameters:
shared_preload_libraries: pglogical
我添加了pglogical作为共享库,因为有了第三台服务器,我想知道是否可以完全使用Patroni进行设置。
我读过关于如何使用https://blog.dbi-services.com/postgresql-logical-replication-with-pglogical/设置pglogical的文章,我想知道是否可以完全配置第3服务器,只用于插入。
我对Patroni很陌生,我很迷茫,所以任何关于这个问题的信息都会非常感谢。
发布于 2020-04-22 08:24:15
我找到的唯一方法就是创建一个bash脚本来执行psql命令来配置pglogical。
因此,我在yaml中添加了一个post_bootstrap属性,如下所示:https://github.com/zalando/patroni/blob/master/docs/SETTINGS.rst
bash脚本接收数据库dsn作为参数,我使用它连接到它并配置我喜欢的东西。
据我所知,没有办法直接从赞助人那里配置pglogical。
https://serverfault.com/questions/1011271
复制相似问题