Postgresql

在 PostgreSQL 外部數據包裝伺服器中創建共享使用者映射

  • December 18, 2020

我們使用外部數據包裝器在單個 PostgreSQL RDS 上跨數據庫進行查詢。外部數據包裝伺服器需要為每個將查詢遠端伺服器的使用者映射一個使用者。但是,為每個使用者添加使用者映射可能被證明容易出錯。

我們所有需要查詢外部數據伺服器的使用者都有一個共享角色,例如role_name,在我們的 PostgreSQL 伺服器上。

我們如何在使用者之間共享外部數據包裝伺服器使用者映射?

共享使用者映射的唯一方法是為 定義它PUBLIC,但它適用於所有使用者。組在這種情況下不起作用,可能是因為如果多個使用者映射通過繼承應用於單個使用者,則會導致歧義。

如果您不想為每個使用者使用使用者映射,您可以選擇創建一個,PUBLIC但限制對外部表的訪問權限為role_name通過權限。

我知道這也不是一個很好的解決方案,因為它將允許所有使用者查看其中的使用者映射和密碼(如果有的話)。但至少它很容易GRANT SELECT ON ALL TABLES IN SCHEMA ... TO role_name

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