成为postgres的新手。我对角色有点困惑,为什么我无法在该角色下创建数据库,这清楚地表明该角色有"创建数据库"属性。
例如,现有角色名称" MAS"在可以创建数据库的系统中。
postgres=> \du
List of roles
Role name | Attributes | Member of
------------------------+------------------------------------------------+-----------------------------------------------
MAS | Create role, Create DB +| {rds_superuser,abc_user,def_user,biuser}
| Password valid until infinity |
使用psql,我可以从命令行登录到数据库,如下所示:
psql -h mas.myserver.com -p 5432 -U MAS postgres
现在,我想用这个创建数据库:" CreateDB.sql'
CREATE DATABASE mas_dev_123
WITH OWNER = MAS
ENCODING = 'UTF8'
TABLESPACE = pg_default
LC_COLLATE = 'en_US.UTF-8'
LC_CTYPE = 'en_US.UTF-8'
CONNECTION LIMIT = -1;
postgres=> \i CreateDB.sql
psql:CreateDB.sql:11: ERROR: role "mas" does not exist
明确使用\du
,我的角色MAS
存在。那么,我在这里错过了什么或做错了什么?