我正在一个Amazon RDS postgresql数据库上工作,在该数据库中我知道公共架构存在一些问题(也许已删除)。但是显然该模式存在,并且无论如何问题都没有解决。这是使用新创建的空数据库的示例会话:
mydb=> CREATE TABLE distributors (
mydb(> did integer,
mydb(> name varchar(40) UNIQUE
mydb(> );
ERROR: no schema has been selected to create in
mydb=> show search_path;
search_path
----------------
"$user",public
(1 row)
mydb=> create schema public;
ERROR: schema "public" already exists
有什么提示吗?我应该找什么?
解决了。 感谢DanielVérité的回答,我已经解决了以下问题:
grant usage on schema public to public;
grant create on schema public to public;
这些是对公共架构的默认权限吗?
我只有一个可以访问数据库的用户,所以我认为这绝对不会增加安全风险...
我想我应该对template1进行相同的修改。这是对的吗?如何检查template1中的权限是否正确(例如,默认值)?