簡體   English   中英

將 Postgres 主/備用從 11 升級到 12

[英]upgrade Postgres Primary/Standby from 11 to 12

我正在嘗試將 Postgres 從 11 升級到 12。

舊數據目錄 - /var/lib/pgsql/11/data

新數據目錄 - /var/lib/pgsql/12/data

使用 pg_upgrade --link 升級主服務器后(主服務器和備用服務器仍然關閉),我按照手冊的建議從主服務器和新舊數據目錄發出 rsync 命令。 rsync --archive --delete --hard-links --size-only --no-inc-recursive old_cluster new_cluster remote_dir

在我的例子中,rsync --archive --delete --hard-links --size-only --no-inc-recursive /var/lib/pgsql/11/data /var/lib/pgsql/12/data test-標准數據庫:/var/lib/pgsql

--remote_dir 位於備用目錄上的舊集群目錄和新集群目錄之上- 按照手冊。

但是,我看到一個數據目錄是在備用服務器上的 /var/lib/pgsql 下創建的,即 /var/lib/pgsql/data 而不是在 /var/lib/pgsql/12 下創建的

我錯過了什么?

另外,我的 postgresql.conf 有所有注釋,所有自定義設置都在 conf.d 目錄下,該目錄由 postgresql.conf 中的 include_dir ='conf.d' 指定 對於 postgresql12,因為備用的 primary_connection_info 需要成為 postgresql.conf 的一部分,並且不是 recovery.conf,我可以簡單地將帶有 primary_connect 信息的 recovery.conf 文件放在我的 conf.d 目錄中嗎? 關於這將如何運作的任何經驗?

提前致謝!

顯然,您不能使用 rsync 方法來重建備用數據庫以進行重大升級,否則會出現數據文件不兼容錯誤。 pgbasebackup 是你最好的選擇。 (也快得多)

命令應該是:

rsync --archive --delete --hard-links --size-only --no-inc-recursive /var/lib/pgsql/11 /var/lib/pgsql/12 test-stdby:/var/lib/pgsql

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM