Postgresql

PostgreSQL FDW:是否有必要為同一伺服器上數據庫的每個連結指定伺服器和使用者(具有相同的使用者權限)?

  • November 14, 2020

我有一台伺服器,其中包含大約 7000 個數據庫,這些數據庫都具有幾乎相同的架構。我一直在查詢它們並在伺服器上的單獨數據庫中收集有關它們內容的資訊。到目前為止,我這樣做的方法是使用包裝在一些 Python 程式碼中的 dblink 查詢,這些程式碼遍歷所有數據庫。當我能夠事先構造一個查詢並對其進行迭代時,這很好,但如果我只想快速查詢其中一個數據庫,因為 dblink 查詢的構造有些複雜,所以效率不高。

我過去沒有使用過 FDW,但我認為從伺服器上的每個數據庫中導入相關的模式(ta)並將它們作為對象儲存在我的主數據庫中會更簡單。讓我感到困惑的是,FDW 文件首先建議創建外部伺服器對象和使用者映射。由於每個數據庫都在同一台伺服器上並由同一使用者查詢,因此我不想從添加一個可能不必要的步驟開始。

所以我的問題是,是否有必要指定伺服器和使用者映射以在同一伺服器上創建與數據庫的連接,並且使用者在每個數據庫中都具有相同的權限?

是的。不創建就不能使用外部伺服器。而且您必須為要連結到的每個數據庫創建一個,因為dbname只能在外部伺服器級別指定,而不是在單個外部表級別指定。而且每台伺服器都需要自己的使用者映射,不能共享。

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