更新日期:2024年09月11日
功能描述
定义一个用户到一个外部服务器的新映射。
注意事项
当在OPTIONS 中出现password 选项时,需要保证GBase 8c 数据库集群每个节点的
$GAUSSHOME/bin 目录下存在usermapping.key.cipher 和usermapping.key.rand 文件,
如果不
存在这两个文件,请使用gs_guc 工具生成并发布到每个节点的$GAUSSHOME/bin 目录下。
语法格式
CREATE USER MAPPING FOR { user_name | USER | CURRENT_USER | PUBLIC }
SERVER server_name
[ OPTIONS ( option 'value' [ , ... ] ) ]
参数说明
user_name
要映射到外部服务器的一个现有用户的名称。
CURRENT_USER 和USER 匹配当前用户的名称。当PUBLIC 被指定时,一个公共映
射会被创建,当没有特定用户的映射可用时将会使用它。
server_name
将为其创建用户映射的现有服务器的名称。
OPTIONS ( { option_name ' value ' } [, …] )
GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1089
这个子句指定用户映射的选项。
这些选项通常定义该映射实际的用户名和口令。
选项名
必须唯一。允许的选项名和值与该服务器的外部数据包装器有关。
说明:
用户的口令会加密后保存到系统表PG_USER_MAPPING 中,加密时需要使用
usermapping.key.cipher 和usermapping.key.rand 作为加密密码文件和加密因子。首次使用前
需要通过如下命令创建这两个文件,并将这两个文件放入各节点目录$GAUSSHOME/bin,
且确保具有读权限。gs_ssh 工具可以协助您快速将文件放入各节点对应目录下。
gs_ssh -c "gs_guc generate -o usermapping -S default -D $GAUSSHOME/bin"
其中-S 参数指定default 时会随机生成密码,用户也可为-S 参数指定密码,此密码用于
保证生成密码文件的安全性和唯一性,用户无需保存或记忆。其他参数详见《GBase 8c
V5_3.0.0 工具参考手册》中gs_guc 工具说明。
oracle_fdw 支持的options
user
oracle server 的用户名。
password
oracle 用户对应的密码。
mysql_fdw 支持的options
username
MySQL Server/MariaDB 的用户名。
password
MySQL Server/MariaDB 用户对应的密码。
postgres_fdw 支持的options
user
远端数据库的用户名。
GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1090
password
远端用户对应的密码。
说明:
在后台会对用户输入的password 加密以保证安全性。该加密所需密钥文件需要生成并
发布到每个节点的$GAUSSHOME/bin 目录下。password 不应当包含'encryptOpt'前缀,否则
会被认为是加密后的密文。
相关命令
ALTER USER MAPPING,DROP USER MAPPING
功能描述
更改文本搜索配置的定义。
用户可以将映射从字串类型调整为字典,
或者改变配置的名
称或者所有者,或者修改搜索配置的配置参数。
ADD MAPPING FOR 选项为文本搜索配置增加字串类型映射;如果ADD MAPPING
FOR 后面任何一个字串类型的映射已经存在于此文本搜索配置中,那么系统将会报错。
ALTER MAPPING FOR 选项会首先清除已有的字串类型映射,然后添加指定的字串类
型映射。
ALTER MAPPING REPLACE … WITH … 与ALTER MAPPING FOR … REPLACE …
WITH … 选项会直接使用new_dictionary 替换old_dictionary 。需要注意的是,只有
pg_ts_config_map 系统表中存在maptokentype 与old_dictionary 对应关系的元组时,才能更
新成功,否则不会成功,也不会有任何提示信息返回。
DROP MAPPING FOR 选项会删除当前文本搜索配置中指定的字串类型映射。如果没
有指定IF EXISTS 选项,当DROP MAPPING FOR 选项指定的字串类型映射在文本搜索配
置中不存在时,数据库会报错。
注意事项
当一个搜索配置已经被引用
(如被用来创建索引)
,
则不允许用户修改此文本搜索配置。
要使用ALTER TEXT SEARCH CONFIGURATION,用户必须是配置的所有者。
语法格式
增加文本搜索配置字串类型映射语法
ALTER TEXT SEARCH CONFIGURATION name
ADD MAPPING FOR token_type [, ... ] WITH dictionary_name [, ... ];
GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
782
修改文本搜索配置字典语法
ALTER TEXT SEARCH CONFIGURATION name
ALTER MAPPING FOR token_type [, ... ] REPLACE old_dictionary WITH new_dictionary;
更改文本搜索配置字典语法
ALTER TEXT SEARCH CONFIGURATION name
ALTER MAPPING REPLACE old_dictionary WITH new_dictionary;
删除文本搜索配置字串类型映射语法
ALTER TEXT SEARCH CONFIGURATION name
DROP MAPPING [ IF EXISTS ] FOR token_type [, ... ];
重命名文本搜索配置所有者语法
ALTER TEXT SEARCH CONFIGURATION name OWNER TO new_owner;
重命名文本搜索配置名称语法
ALTER TEXT SEARCH CONFIGURATION name RENAME TO new_name;
重命名文本搜索配置命名空间语法
ALTER TEXT SEARCH CONFIGURATION name SET SCHEMA new_schema;
修改文本搜索配置属性语法
ALTER TEXT SEARCH CONFIGURATION name SET ( {configuration_option = value} [, ...] )
重置文本搜索配置属性语法
ALTER TEXT SEARCH CONFIGURATION name RESET ( {configuration_option} [, ...] );
参数说明
name
已有文本搜索配置的名称(可以有模式修饰)
。
token_type
与配置的语法解析器关联的字串类型的名称。详细信息参见解析器。
dictionary_name
GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
783
文本搜索字典名称。如果有多个字典,则它们会按指定的顺序搜索。
old_dictionary
映身中拟被替换的文本搜索字典名称。
new_dictionary
替换old_dictionary 的文本搜索字典的名称。
new_owner
文本搜索配置的新所有者。
new_name
文本搜索配置的新名称。
new_schema
文本搜索配置的新模式名。
configuration_option
文本搜索配置项。详细信息参见CREATE TEXT SEARCH CONFIGURATION。
value
文本搜索配置项的值。
示例
--创建文本搜索配置。
gbase=#CREATE TEXT SEARCH CONFIGURATION english_1 (parser=default);
CREATE TEXT SEARCH CONFIGURATION
--增加文本搜索配置字串类型映射语法。
gbase=#ALTER TEXT SEARCH CONFIGURATION english_1 ADD MAPPING FOR word
WITH simple,english_stem;
ALTER TEXT SEARCH CONFIGURATION
--增加文本搜索配置字串类型映射语法。
GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
784
gbase=#ALTER TEXT SEARCH CONFIGURATION english_1 ADD MAPPING FOR email
WITH english_stem, french_stem;
ALTER TEXT SEARCH CONFIGURATION
--查询文本搜索配置相关信息。
gbase=#SELECT b.cfgname,a.maptokentype,a.mapseqno,a.mapdict,c.dictname FROM
pg_ts_config_map a,pg_ts_config b, pg_ts_dict c WHERE a.mapcfg=b.oid AND a.mapdict=c.oid
AND b.cfgname='english_1' ORDER BY 1,2,3,4,5;
cfgname
| maptokentype | mapseqno | mapdict |
dictname
-----------+--------------+----------+---------+--------------
english_1 |
2 |
1 |
3765 | simple
english_1 |
2 |
2 |
12960 | english_stem
english_1 |
4 |
1 |
12960 | english_stem
english_1 |
4 |
2 |
12964 | french_stem
(4 rows)
--增加文本搜索配置字串类型映射语法。
gbase=#ALTER TEXT SEARCH CONFIGURATION english_1 ALTER MAPPING REPLACE
french_stem with german_stem;
ALTER TEXT SEARCH CONFIGURATION
--查询文本搜索配置相关信息。
gbase=#SELECT b.cfgname,a.maptokentype,a.mapseqno,a.mapdict,c.dictname FROM
pg_ts_config_map a,pg_ts_config b, pg_ts_dict c WHERE a.mapcfg=b.oid AND a.mapdict=c.oid
AND b.cfgname='english_1' ORDER BY 1,2,3,4,5;
cfgname
| maptokentype | mapseqno | mapdict |
dictname
-----------+--------------+----------+---------+--------------
english_1 |
2 |
1 |
3765 | simple
GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
785
english_1 |
2 |
2 |
12960 | english_stem
english_1 |
4 |
1 |
12960 | english_stem
english_1 |
4 |
2 |
12966 | german_stem
(4 rows)
请参见CREATE TEXT SEARCH CONFIGURATION 的示例。
相关命令
CREATE TEXT SEARCH CONFIGURATION,DROP TEXT SEARCH CONFIGURATION