
# CREATE SERVER
#### 功能描述
定义一个新的外部服务器。外部服务器是其他同构数据库信息的载体。
#### 注意事项
OPTIONS中的敏感字段（如password）在使用多层引号时，语义和不带引号的场景是不同的，因此不会被识别为敏感字段进行脱敏。
#### 语法格式
```
CREATE SERVER server_name
    FOREIGN DATA WRAPPER fdw_name
    [ OPTIONS ( { option_name ' value ' } [, ...] ) ];
```
![](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/figure/zh-cn_image_0000002526900352.png "点击放大")
#### 参数说明
- **server_name**
  server的名称。
  取值范围：长度必须小于等于63字节。
  
- **fdw_name**
  指定外部数据封装器的名称。
  取值范围：dist_fdw，log_fdw，file_fdw。其中log_fdw和file_fdw仅作语法兼容，可以创建外表，无实际使用意义，不做额外使用说明。
  
- **OPTIONS ( { option_name ' value ' } \[, ...\] )**
  这个子句为服务器指定选项。这些选项通常定义该服务器的连接细节，但是实际的名称和值取决于该服务器的外部数据包装器。
  - 用于指定外部服务器的各类参数。
  
  
  除了libpq支持的连接参数外，还额外提供以下参数：
  - **fdw_startup_cost**
    执行一个外表扫描时的启动耗时估算。这个值通常包含建立连接、远端对请求的分析和生成计划的耗时。默认值为100。取值范围为大于0的实数。
    
  
  - **fdw_typle_cost**
    在远端服务器上对每一个元组进行扫描时的额外消耗。这个值通常表示数据在server间传输的额外消耗。默认值为0.01。取值范围为大于0的实数。
    
    
 
#### 示例
建立一个SERVER，其中file_fdw为数据库中存在的FOREIGN DATA WRAPPER。
```
--创建SERVER。
gaussdb=# CREATE SERVER my_server FOREIGN DATA WRAPPER file_fdw;
--删除SERVER。
gaussdb=# DROP SERVER my_server;
```
建立另外一个同构集群的SERVER，其中log_fdw为数据库中存在的FOREIGN DATA WRAPPER。
```
--创建SERVER。
gaussdb=# CREATE SERVER server_remote FOREIGN DATA WRAPPER log_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://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-0505.html#ZH-CN_TOPIC_0000002559107999)，[DROP SERVER](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-0625.html#ZH-CN_TOPIC_0000002559108059)
