授予在 PostgreSQL 中创建序列

Grant Create Sequence in PostgreSQL

是否可以只授予 user/role PostgreSQL create/alter 序列的权限 database/schema 不允许用户同时创建表?

我目前使用

GRANT CREATE ON SCHEMA myschema TO "MyRole";

这为用户提供了对架构的完全创建访问权限,但他不能删除或更改不属于他的任何表。我的用例是我使用 Liquibase 预先设置数据库模式,并希望应用程序仅使用只能 read/write 数据的数据库用户。不幸的是,应用程序需要动态数量的序列,即应用程序必须能够在 database/schema.

中创建新序列

你可以做到

grant select on sequence my_sequence in schema my_schema to my_role_user

https://www.postgresql.org/docs/14/sql-grant.html

唯一可能的方法是创建一个事件触发器,如果​​您创建的不是序列,它会抛出错误。