Postgresql -如何授予用户修改表列的权限?

cqoc49vn  于 2023-03-12  发布在  PostgreSQL
关注(0)|答案(1)|浏览(544)

我问了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提供的最后一条注解实际上不起作用
6ovsh4lw

6ovsh4lw1#

fine manual
您必须拥有该表才能使用ALTER TABLE。
GRANT不会更改此行为,您必须是所有者。
要允许其他角色更改表和其他数据库对象,可以将这些角色授予所有者:

GRANT owner_of_your_objects TO my_user;

这将赋予角色“my_user”与角色“owner_of_your_objects”相同的(!)权限。但是要小心,因为现在还允许使用DROP TABLE。您可以编写一个event_trigger来避免这种情况。

相关问题