
我正在設定一個新的資料庫伺服器,打算將其用作許多服務的後端。這些服務中的每一個通常只關心系統中的單一資料庫,因此我想隔離每個服務連接的帳戶,以便只能存取該資料庫。服務應用程式管理自己的架構,因此我想為他們的資料庫提供類似於管理員的權限,但他們不應該能夠接觸任何其他內容。
有沒有辦法在 postgres 中設定這個?
這個問題在 ServerFault 上結束建議一種在模式範圍層級向使用者授予權限的方法;但是,這不適用於資料庫(Alter Default Privileges In Database xx
給我一個語法錯誤Database
)。
答案1
我幾乎一問就找到了答案。我正在尋找的神奇命令是:
Alter Database xxx Owner To user_xxx;
這在命令手冊中有記錄Alter Database
:
https://www.postgresql.org/docs/current/sql-alterdatabase.html