Postgresql
如果所有伺服器都是只讀的,Postgres 中的共享儲存是否安全?
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 以實現真正的只讀模式,今天是不可能的。