繁体   English   中英

Postgres中的流复制解决方案

[英]Streaming replication solution in Postgres

我正在阅读下面的文章,了解如何在Postgres DB中实现流复制。

https://www.percona.com/blog/2018/09/07/setting-up-streaming-replication-postgresql

有些事情不太清楚

1)两个数据库实例都处于活动状态还是从属实例只是主副本(它与主副本通信,而不与后端通信?

2)如果数据库主节点发生故障,在第二个节点恢复联机之前会发生什么? 默认情况下是否仅通过wal senderwal receiver进程来覆盖?还是需要添加其他内容?

3)例如,如果我有两个后端节点(它们都处于活动状态),则应在后端应用程序中配置哪个DB_HOST:PORT?

  1. 如果postgresql.conf hot_standby = on ,则客户端可以连接到备用数据库,但只能读取数据而不能修改它们。 备用数据库与主数据库完全相同,就像您逐个文件复制它一样。

  2. 如果主服务器发生故障,备用仍将正常运行,但你仍然直到有人促进待机只能读取数据。 您必须了解PostgreSQL 并未附带允许它自动发生的集群软件。 为此,您必须使用其他软件如Patroni。

  3. 这取决于您的软件使用的API。 使用libpq(C API)或JDBC,您可以拥有一个包含两个服务器的连接字符串,并且将自动选择主服务器,但是对于其他客户端,您可能必须使用外部负载平衡软件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM