ALTER SERVER

功能描述

增加、修改和删除一个现有server的参数。已有server可以从pg_foreign_server系统表中查询。

注意事项

  • 本章节只包含dolphin新增的语法,原openGauss的语法未做删除和修改。
  • 相比于原始的openGauss,dolphin对于ALTER SERVER语法的修改主要为:
  • 对于修改的server其fdw_name为mysql_fdw时,增加可选OPTIONS:DATABASE, USER, PASSWORD, SOCKET, OWNER。
  • 对于修改的server其fdw_name为mysql_fdw时,若option未指定执行动作,且server的option已存在,则将本次语句的动作更改为SET。

语法格式

  • 修改外部服务的参数。
1. ALTER SERVER server_name [ VERSION 'new_version' ]
2. [ OPTIONS ( {[ ADD | SET | DROP ] option ['value']} [, ... ] ) ];
  • 修改外部服务的名称。

1. ALTER SERVER server_name 2. RENAME TO new_name;

参数说明

  • OPTIONS

更改该服务器的选项。ADD、SET和 DROP指定要执行的动作。如果没有显式地指定操作, 将会假定为ADD。选项名称必须唯一,名称和值也会使用该服务器的外部数据包装器库进行验证。

  • mysql_fdw支持的options包括:

    • host (默认值为 127.0.0.1)

    MySQL Server/MariaDB的地址。 - port (默认值为 3306)

    MySQL Server/MariaDB侦听的端口号。 - user (默认为空)

    MySQL Server/MariaDB用于连接的用户名。若OPTIONS指定此选项,且不存在当前用户到给定server的用户映射,openGauss将自动创建当前用户到新建server的用户映射;若OPTIONS指定此选项,且已存在当前用户到给定server的用户映射,openGauss将修改该用户映射的对应option值。 - password (默认为空)

    MySQL Server/MariaDB用于连接的用户密码。若OPTIONS指定此选项,且不存在当前用户到给定server的用户映射,openGauss将自动创建当前用户到新建server的用户映射;若OPTIONS指定此选项,且已存在当前用户到给定server的用户映射,openGauss将修改该用户映射的对应option值。 - database (默认为空)

    无实际意义,仅做语法兼容。指定MySQL Server/MariaDB连接的数据库请在CREATE FOREIGN TABLE或ALTER FOREIGN TABLE中完成。 - owner (默认为空)

    无实际意义,仅做语法兼容。 - socket (默认为空)

    无实际意义,仅做语法兼容。

示例

修改server。

1. -- 当前用户到给定server的用户映射不存在时
2. openGauss=# alter server server_test options(user 'my_user', password 'mypassword');
3. WARNING:  USER MAPPING for current user to server server_test created.
4. ALTER SERVER

6. -- 当前用户到给定server的用户映射已存在时
7. openGauss=# alter server server_test options(port '3308', user 'my_user');
8. WARNING:  USER MAPPING for current user to server server_test altered.
9. ALTER SERVER

相关链接

CREATE SERVER,DROP SERVER