CREATE USER MAPPING
功能描述
定义一个用户到一个外部服务器的新映射。
注意事项
当在OPTIONS中出现password选项时,需要保证Vastbase每个节点的$GAUSSHOME/bin目录下存在usermapping.key.cipher和usermapping.key.rand文件,如果不存在这两个文件,请使用vb_guc工具生成并发布到Vastbase每个节点的$GAUSSHOME/bin目录下。
语法格式
CREATE USER MAPPING FOR vastbase_user SERVER server_name OPTIONS(
username 'user name',
password 'user password'
);
参数说明
vastbase_user
要映射到外部服务器的一个现有用户的名称。
CURRENT_USER和USER匹配当前用户的名称。 当PUBLIC被指定时,一个公共映射会被创建,当没有特定用户的映射可用时将会使用它。
server_name
将为其创建用户映射的现有服务器的名称。
OPTIONS
这个子句指定用户映射的选项。这些选项通常定义该映射实际的用户名和口令。选项名必须唯一。允许的选项名和值与该服务器的外部数据包装器有关。
用户的口令会加密后保存到系统表PG_USER_MAPPING中,加密时需要使用usermapping.key.cipher和usermapping.key.rand文件作为加密密码文件和加密因子。首次使用前需要通过如下命令创建这两个文件,并将这两个文件放入各节点目录$GAUSSHOME/bin,且确保具有读权限。
vb_guc generate -o usermapping -S default -D $GAUSSHOME/bin
其中
-S
参数指定default时会随机生成密码,用户也可为-S
参数指定密码,此密码用于保证生成密码文件的安全性和唯一性,用户无需保存或记忆。其他参数详见工具参考中vb_guc工具说明。
oracle_fdw支持的options包括:
user
oracle server的用户名。
password
oracle用户对应的密码。
mysql_fdw支持的options包括:
username
MySQL Server/MariaDB的用户名。
password
MySQL Server/MariaDB用户对应的密码。
postgres_fdw支持的options包括:
user
远端Vastbase的用户名。
password
远端Vastbase用户对应的密码。
Vastbase在后台会对用户输入的password加密以保证安全性。该加密所需密钥文件需要使用vb_guc工具生成,并被发布到Vastbase每个节点的$GAUSSHOME/bin目录下。password不应当包含'encryptOpt'前缀,否则会被认为是加密后的密文。
相关链接
ALTER USER MAPPING,DROP USER MAPPING