我正在尝试在PostgreSQL中创建一个用户,该用户可以创建具有特定格式的数据库。我使用以下命令创建用户并授予权限:
CREATE ROLE someuser PASSWORD 'SomePassW0rd' NOSUPERUSER CREATEDB INHERIT LOGIN;
GRANT ALL PRIVILEGES ON DATABASE 'hello_%'.* TO someuser;
字符串
这个想法是允许用户创建数据库,如“hello_world”,“hello_something”等。所以所有的都必须有“hello_”前缀。但不幸的是,它抛出以下错误:
第一个月
有没有人知道这个行为的正确语法是什么,或者这是否可能?
1条答案
按热度按时间qyyhg6bp1#
根据
PostgreSQL
手册,我认为直接从SQL做你想做的事情是不可能的。https://www.postgresql.org/docs/current/sql-grant.html
我建议做一个程序,用户可以使用它来分析正则表达式模式,并在模式匹配时授予该数据库的所有权限。
例如在Python中:
字符串