Postgresql
如何限制現有表的列創建?
我已經在包含 、 和 列的模式中創建了
a
一個b
表c
。我想限制使用者創建新列。這個怎麼做?
我瀏覽了有關
GRANT
and的手冊頁REVOKE
,但在手冊中僅對INSERT
,UPDATE
,SELECT
等進行了解釋。我想要類似的東西
REVOKE ALTER on Table schemaname.tablename FROM user;
防止表修改的方法是將所有權更改為不同的角色。表只能由所有者和超級使用者更改 - 因此將所有權更改為非超級使用者。我發現僅出於這個原因保留數據庫所有權角色是切實可行的(這也可能使其他地方的生活更輕鬆,例如在設置預設權限時)。