簡體   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