Postgresql

如果所有伺服器都是只讀的,Postgres 中的共享儲存是否安全?

  • July 10, 2016

Postgres 中共享儲存的說明:https ://wiki.postgresql.org/wiki/Shared_Storage

相關問題:https ://serverfault.com/a/620315/137464

這兩者都清楚地表明,擁有一個寫入實例和多個讀取器是不安全的。如果所有實例都是只讀的怎麼辦?

您連結到的答案中,克雷格說:

對 PostgreSQL 進行微小的更改可能是可行的(如果所有伺服器都是只讀的,但我沒有對其進行調查,因為它是一個非常無趣的案例。

(強調我的)。

問題是,沒有辦法啟動一個 PostgreSQL 伺服器並告訴它“你只能查看這個數據目錄,你不能寫任何東西”。即使是作為“熱備用”執行的 PostgreSQL 伺服器也可以隨意在其數據目錄中寫入任意文件(例如 postmaster.pid、用於磁碟排序的臨時文件、重寫提示位等)。如果兩台或多台伺服器誘使在同一數據目錄下以熱備用模式執行,則可能會出現混亂。

Postgres 伺服器根本沒有“查看但不觸摸”模式,所以答案是:

如果全部怎麼辦

$$ Postgres server instances operating against the same shared data directory $$是只讀的嗎?

是:如果不更改 Postgres 以實現真正的只讀模式,今天是不可能的。

引用自:https://dba.stackexchange.com/questions/143360