Postgresql

限制postgres中某些表的刪除語句?

  • August 21, 2022

我有一個問題,我的客戶抱怨記錄被刪除,即使我看到該表中的所有 id 都是正確的,只是為了確保一切都像它應該的那樣,有沒有辦法在 postgres 中禁用某個表的刪除語句?

REVOKE DELETE ON someTable FROM roleOfCustomers;

一種可能的方法是使用RULES

例如:

CREATE RULE someTable_do_not_delete AS ON DELETE TO someTable DO INSTEAD NOTHING;

注意。當使用 ON DELETE DO INSTEAD NOTHING 時,正在執行 DELETE 的程式碼不會收到沒有任何事情發生的通知,根據客戶端,DELETE 將成功。

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