在 Vertica 数据库中,共有三种类型的用户:
-
数据库管理员 (DBADMIN)
-
对象所有者
-
其他所有人 (PUBLIC)
在 Vertica 数据库中,共有三种类型的用户:
数据库管理员 (DBADMIN)
对象所有者
其他所有人 (PUBLIC)
安装时,新的 Vertica 数据库会自动包含具有 超级用户权限的用户。除非在安装期间显式命名,否则此用户被标识为 dbadmin
。此用户不能被删除,并且具有以下不可撤销的角色:
使用这些角色,dbadmin
用户可以执行所有数据库操作。此用户还可以创建其他具有管理权限的用户。
不要将 dbadmin
用户与 DBADMIN 角色的用户混淆。DBADMIN 角色是一组可以分配给一个或多个用户的权限。
Vertica 文档经常将 dbadmin
用户称为超级用户。此参考文档与 Linux 超级用户无关。
dbadmin
用户可以创建具有相同权限的其他用户:
创建用户:
=> CREATE USER DataBaseAdmin2; CREATE USER
向新用户 DataBaseAdmin2
授予相应角色:
=> GRANT dbduser, dbadmin, pseudosuperuser to DataBaseAdmin2;
GRANT ROLE
用户 DataBaseAdmin2
现在具有与授予给最初 dbadmin 用户相同的权限。
DataBaseAdmin2
使用 SET ROLE 启用已分配给您的角色:
=> \c - DataBaseAdmin2;
You are now connected to database "VMart" as user "DataBaseAdmin2". => SET ROLE dbadmin, dbduser, pseudosuperuser; SET ROLE
确认角色已启用:
=> SHOW ENABLED ROLES;
name | setting ------------------------------------------------- enabled roles | dbduser, dbadmin, pseudosuperuser
对象所有者是创建特定数据库对象并可以对该对象执行任何操作的用户。默认情况下,仅所有者(或 超级用户)可以对数据库对象执行操作。为了允许其他用户使用对象,所有者或超级用户必须使用其中一个 GRANT 语句向这些用户授予权限。
有关详细信息,请参阅数据库权限。
所有非 DBA(超级用户)或对象所有者都是 PUBLIC 用户。
新创建的用户默认没有 PUBLIC 架构的访问权。请确保对创建的所有用户运行 GRANT USAGE ON SCHEMA PUBLIC。