GaussDB-CREATE SERVER

73 阅读2分钟

GaussDB-CREATE SERVER

功能描述

创建一个外部服务器。

外部服务器是存储其他同构集群信息的载体。

注意事项

默认只有系统管理员才可以创建外部服务器,否则需要对所使用的FOREIGN DATA WRAPPER授权才可以创建,授权语法为:

GRANT USAGE ON FOREIGN DATA WRAPPER fdw_name TO username

其中fdw_name为FOREIGN DATA WRAPPER的名称,username为创建SERVER的用户名。

OPTIONS中的敏感字段(如password)在使用多层引号时,语义和不带引号的场景是不同的,因此不会被识别为敏感字段进行脱敏。

语法格式

| ``` CREATE SERVER server_name FOREIGN DATA WRAPPER fdw_name [ OPTIONS ( { option_name ' value ' } [, ...] ) ];

| ---------------------------------------------------------------------------------------------------------------------------- |

![](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/6cac282d58a24081a21b227be90b4af3~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgamVycnl3YW5nMTk4Mw==:q75.awebp?rk3s=f64ab15b&x-expires=1773301189&x-signature=5p7cTRaRQvKHq4DZs7JyhJFBKj8%3D)

#### 参数说明

-   **server_name**

    server的名称。

    取值范围:长度必须小于等于63字节。

-   **FOREIGN DATA WRAPPER fdw_name**

    指定外部数据封装器的名称。

    取值范围:fdw_name是数据库初始化时系统创建的数据封装器,对于其他同构集群,fdw_name为gc_fdw。还可以创建dist_fdw、file_fdw、log_fdw。其中log_fdw仅做语法兼容,可以创建外表,无实际使用意义;dist_fdw用于gds导数,由于有内置gsmpp_server,因此不需要手动用dist_fdw创建server。

-   **OPTIONS ( { option_name ' value ' } [, ...] )**

    用于指定外部服务器的各类参数,详细的参数说明如下所示。

    -   address

        []()[]()外部服务器地址。

    -   dbname

        []()[]()外部服务器DB名称。

    -   username

        []()[]()外部服务器用户名。

    -   password

        []()[]()外部服务器密码。

#### 示例

创建一个SERVER,其中file_fdw为数据库中存在的FOREIGN DATA WRAPPER。

| ```
--创建SERVER。 gaussdb=# CREATE SERVER my_server FOREIGN DATA WRAPPER file_fdw;  --删除SERVER。 gaussdb=# DROP SERVER my_server; 
``` |
| ----------------------------------------------------------------------------------------------------------------------------------- |

建立另外一个同构集群的server,其中gc_fdw为数据库中存在的foreign data wrapper。

| ```
--创建SERVER。 gaussdb=# CREATE SERVER server_remote FOREIGN DATA WRAPPER GC_FDW OPTIONS     (address '10.146.187.231:8000,10.180.157.130:8000' ,   dbname 'test',    username 'test',    password '********' );  --删除SERVER。 gaussdb=# DROP SERVER server_remote; 
``` |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

相关链接

[ALTER SERVER](https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/devg-dist/gaussdb-12-0505.html#ZH-CN_TOPIC_0000001911665853), [DROP SERVER](https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/devg-dist/gaussdb-12-0617.html#ZH-CN_TOPIC_0000001865585888)

更多详情请参考GaussDB 文档中心:<https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/productdesc/qlh_03_0001.html>