PostgreSQL 用戶端 v10 或 v11,附 v9 伺服器

PostgreSQL 用戶端 v10 或 v11,附 v9 伺服器

我們有一個 PostgreSQL 伺服器,剛從 9.3 升級到 9.5。我們所有的機器都安裝了 9.3 客戶端軟體包,因此pg_dump不再有效,因為它不向前相容。

顯然,我們必須升級客戶端軟體 - 我的問題是,我們應該升級到哪個版本?我最初認為我們應該升級到 9.6,這是 9.* 系列的最新版本,這樣我們就可以在將來再次升級伺服器時避免這樣做。但如果是這樣,那為什麼不去10或11呢?像這樣混合主要版本有什麼缺點嗎? 10 和 11 客戶是否被認為是穩定的?

答案1

我的建議是升級客戶端以保持與伺服器相同版本的兼容性(例如 pg_dump v9.5.x 與 9.5.x postgres 伺服器一起使用)。您可以使用版本 10 在版本 9.5.x 上執行 pg_dump,但是您必須準備好處理因每天執行此操作而可能出現的任何錯誤。

從表面上看,即使 pg_dump 命令發生的更改是新的命令參數(如下所示),我懷疑對於使用未來版本的客戶端到舊版本的 postgresql 伺服器的備份的不同排列的測試是否嚴格。

  • 9.6介紹了--strict-names argument
  • 10 引入--no-blobs --no-publications --no-subscriptions --no-sync 論點

由於執行備份並不總是必須在伺服器本身本地調用,因此您始終可以使用不同的電腦來實現此目的(遠端調用備份)

根據作業系統和套件管理器,較新版本的 pg_dump 可能已經位於伺服器上,如下所示 /usr/lib/postgresql/your_server_version_here/bin/,您始終可以像這樣建立新版本的符號連結(假設為 debian 系統):

sudo ln -s --force /usr/lib/postgresql/9.5/bin/pg_dump /usr/bin/pg_dump

相關內容