Postgresql

如何使 postgres 使用者無法刪除數據庫?

  • December 22, 2021

你將是什麼 sql 語句(使用者 postgres 將執行)所以 postgres 使用者不可能user1刪除(刪除)數據庫?

或者我可以在一些配置文件中添加規則嗎?

在 PostgreSQL 中,只有數據庫的所有者才能刪除數據庫。(超級使用者可以刪除數據庫,但這是一個不同的問題。)因此,更改所有者是防止 user1 刪除任何數據庫的最直接方法。

使用ALTER DATABASE修復它。

ALTER DATABASE name OWNER TO new_owner

要更改所有者,您必須擁有數據庫並且是新所有者角色的直接或間接成員,並且您必須具有 CREATEDB 特權。(請注意,超級使用者自動擁有所有這些權限。)

要將特定權限還給 user1,請使用GRANT。您可能正在尋找類似的東西

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA schema_name TO user1;

但請先閱讀 GRANT 的文件。您可能需要 WITH GRANT OPTION、序列權限、低於 ALL PRIVILEGES 的權限等等。

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