更新时间:2022-04-24 GMT+08:00
分享

CREATE SERVER

功能描述

创建一个外部服务器。

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

注意事项

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

GRANT USAGE ON FOREIGN DATA WRAPPER fdw_name TO username

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

语法格式

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

参数说明

  • server_name

    server的名称。

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

  • FOREIGN DATA WRAPPER fdw_name

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

    取值范围:fdw_name是数据库初始化时系统创建的数据封装器,对于其他同构集群,fdw_name为gc_fdw。

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

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

    • encrypt

      是否对数据进行加密,该参数仅支持type为OBS时设置。默认值为on。

      取值范围:

      • on表示对数据进行加密,使用HTTPS协议通信。
      • off表示不对数据进行加密,使用HTTP协议通信。
    • access_key

      OBS访问协议对应的AK值(OBS云服务界面由用户获取),创建外表时AK值会加密保存到数据库的元数据表中。该参数仅支持type为OBS时设置。

    • secret_access_key

      OBS访问协议对应的SK值(OBS云服务界面由用户获取),创建外表时SK值会加密保存到数据库的元数据表中。该参数仅支持type为OBS时设置。

示例

建立一个obs_server,其中dfs_fdw为数据库中存在的foreign data wrapper。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
--创建obs_server。
postgres=# CREATE SERVER obs_server FOREIGN DATA WRAPPER DFS_FDW OPTIONS ( 
  address 'obs.abc.com', 
   access_key 'xxxxxxxxx', 
  secret_access_key 'yyyyyyyyyyyyy', 
  type 'obs'
);

--删除obs_server。
postgres=# DROP SERVER obs_server;

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
--创建server。
postgres=# 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 'xxxxxxxx'
);

--删除server。
postgres=# DROP SERVER server_remote;

相关链接

ALTER SERVERDROP SERVER

分享:

    相关文档

    相关产品

close