-- 创建角色
CREATE ROLE "dbuser" LOGIN PASSWORD 'dbuser_password';
-- 创建数据库
CREATE DATABASE "dbname" OWNER "dbuser";
-- 给角色授权数据库
GRANT ALL PRIVILEGES ON DATABASE "dbname" TO "dbuser";
-- 创建表空间
CREATE TABLESPACE "dbspace" LOCATION '/path/to/dbspace';
-- 给角色授权表空间
GRANT ALL PRIVILEGES ON TABLESPACE "dbspace" TO "dbuser";
-- 给角色授权连接
GRANT CONNECT ON DATABASE "dbname" TO "dbuser";
-- 给角色授权创建表
GRANT CREATE ON DATABASE "dbname" TO "dbuser";
-- 给角色授权创建序列
GRANT CREATE SEQUENCE ON DATABASE "dbname" TO "dbuser";
-- 给角色授权创建视图
GRANT CREATE VIEW ON DATABASE "dbname" TO "dbuser";
-- 给角色授权创建临时表
GRANT CREATE TEMP TABLE ON DATABASE "dbname" TO "dbuser";
-- 给角色授权复制
GRANT REPLICATION ON DATABASE "dbname" TO "dbuser";
-- 给角色授权角色
GRANT "dbuser" TO "otheruser";
这个例子展示了如何在PostgreSQL中创建一个新角色,设置密码,创建数据库,并且给这个角色授予相应的权限。这是数据库管理员进行用户和角色管理的基本操作。