我问了chatGPT,但建议不起作用。它返回说:GRANT ALTER ON TABLE my_schema.table_name TO my_user;
运行此游戏时出错unrecognized privilege type "alter"
然后,它返回了以下内容:GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA my_schema TO my_user;
这看起来有点过分吗?这是授予更改权限的唯一方法吗?
编辑:
- chatGPT提供的最后一条注解实际上不起作用
1条答案
按热度按时间6ovsh4lw1#
从fine manual:
您必须拥有该表才能使用ALTER TABLE。
GRANT不会更改此行为,您必须是所有者。
要允许其他角色更改表和其他数据库对象,可以将这些角色授予所有者:
这将赋予角色“my_user”与角色“owner_of_your_objects”相同的(!)权限。但是要小心,因为现在还允许使用DROP TABLE。您可以编写一个event_trigger来避免这种情况。