postgresql - CRITICAL:系统 ID 不匹配,节点属于不同的集群:6859654378827691778 != 6859654951670505099
问题描述
我安装了一个守护主节点并需要创建一个 pgbackrest 副本主节点状态正在运行但从节点停止然后它消失了,因为它看起来属于另一个数据库标识符,当我尝试手动运行恢复命令pgbackrest - stanza=main --log-level-console=info --delta 恢复从节点状态更改为 running
这是主 postgresql.yml 文件:
> scope: {{ obasicat }} namespace: /pg_cluster/ name: {{ master }}
>
> restapi:
> listen: {{ master_ip }}:8008
> connect_address: {{ master_ip }}:8008
>
> etcd:
> host: {{ etcd_ip }}:2379
>
> bootstrap: dcs:
> ttl: 30
> loop_wait: 10
> retry_timeout: 10
> maximum_lag_on_failover: {{ lag }}
> postgresql:
> use_pg_rewind: false
> use_slots: true
>
> method: pgbackrest pgbackrest:
> command: /home/osadmin/custom_bootstrap.sh
> keep_existing_recovery_conf: False
> no_params: False
> recovery_conf:
> recovery_target: immediate
> recovery_target_action: pause
> restore_command: pgbackrest --stanza={{ obasicat }} archive-get %f %p
>
> pg_hba:
> - host all postgres 0.0.0.0/0 trust
> - host replication replicate {{ master_ip }}/0 md5
> - host replication replicate {{ slave_ip }}/0 md5
> - host all all 0.0.0.0/0 md5
>
> users:
> admin:
> password: admin
> options:
> - createrole
> - createdb
>
> postgresql: listen: "*:5432" connect_address: {{ master_ip }}:5432
> data_dir: /{{opgbase}}/{{opgname}}/data/ bin_dir:
> /opt/pgsql/na/11.7/bin/ authentication:
> replication:
> username: replicate
> password: replicate
> superuser:
> username: postgres
> password: postgres
>
> create_replica_methods:
> - pgbackrest pgbackrest:
> command: pgbackrest --stanza={{ obasicat }} --delta restore --config=/etc/pgbackrest.conf --pg1-path=/pgqdata/pgserver01/data/ --log-level-console=info
> keep_data: True
> no_params: True
>
> tags:
> nofailover: false
> noloadbalance: false
> clonefrom: false
> nosync: false
>
> log:
> level: DEBUG
> dir: /tmp/
这是从属 postgresql.yml 文件:
> scope: {{ obasicat }} namespace: /pg_cluster/ name: {{ slave }}
>
> restapi:
> listen: {{ slave_ip }}:8008
> connect_address: {{ slave_ip }}:8008
>
> etcd:
> host: {{ etcd_ip }}:2379
>
> bootstrap: dcs:
> ttl: 30
> loop_wait: 10
> retry_timeout: 10
> maximum_lag_on_failover: {{ lag }}
> postgresql:
> use_pg_rewind: false
> use_slots: true
>
> method: pgbackrest pgbackrest:
> command: /home/osadmin/custom_bootstrap.sh
> keep_existing_recovery_conf: False
> no_params: False
> recovery_conf:
> recovery_target: immediate
> recovery_target_action: pause
> restore_command: pgbackrest --stanza={{ obasicat }} archive-get %f %p
>
> pg_hba:
> - host all postgres 0.0.0.0/0 trust
> - host replication replicate {{ master_ip }}/0 md5
> - host replication replicate {{ slave_ip }}/0 md5
> - host all all 0.0.0.0/0 md5
>
> users:
> admin:
> password: admin
> options:
> - createrole
> - createdb
>
> postgresql: listen: "*:5432" connect_address: {{ slave_ip }}:5432
> data_dir: /{{opgbase}}/{{opgname}}/data/ bin_dir:
> /opt/pgsql/na/11.7/bin/ authentication:
> replication:
> username: replicate
> password: replicate
> superuser:
> username: postgres
> password: postgres
>
> create_replica_methods:
> - pgbackrest pgbackrest:
> command: pgbackrest --stanza={{ obasicat }} --delta restore --config=/etc/pgbackrest_slave.conf --pg1-path=/pgqdata/pgserver01/data/ --log-level-console=info
> keep_data: True
> no_params: True
>
> tags:
> nofailover: false
> noloadbalance: false
> clonefrom: false
> nosync: false
>
> log:
> level: DEBUG
> dir: /tmp/
请任何帮助?!谢谢
解决方案
推荐阅读
- javascript - 将 JSON 数据写入 JSON 文件并使用 FS 读取
- methods - 空指针异常错误作为方法参数
- c - 您如何在 C 头文件中转发声明“bool”类型?
- python - 按特定列对 pandas df 行子集(在组内)进行排序
- javascript - 如何在 Javascript 中编辑 json 数组中的特定值
- javascript - 文档更改时如何调用函数?
- c# - Entity Framework Core C#:我在生成的 Get 语句中包含的 List 对象中的对象有问题
- javascript - 如何将 Bootstrap 5 与 Next.js 一起使用?
- javascript - Javascript:如何在继续之前等待获取结果
- javascript - 如何在 EJS 模板中的表单发布请求之前出现确认对话框