ALTER DATA SOURCE

功能描述

修改Data Source对象的属性和内容。

属性有:名称和属主;内容有:类型、版本和连接选项。

注意选项

  • 只有初始用户/系统管理员/属主才拥有修改Data Source的权限。
  • 修改属主时,新的属主用户必须是初始用户或系统管理员。
  • 当在OPTIONS中出现password选项时,需要保证openGauss每个节点的$GAUSSHOME/bin目录下存在datasource.key.cipher和datasource.key.rand文件,如果不存在这两个文件,请使用gs_guc工具生成并使用gs_ssh工具发布到每个节点的$GAUSSHOME/bin目录下。

语法格式

  1. ALTER DATA SOURCE src_name
  2. [TYPE 'type_str']
  3. [VERSION {'version_str' | NULL}]
  4. [OPTIONS ( {[ ADD | SET | DROP ] optname ['optvalue']} [, ...] )];
  5. ALTER DATA SOURCE src_name RENAME TO src_new_name;
  6. ALTER DATA SOURCE src_name OWNER TO new_owner;

参数说明

  • src_name

    待修改的Data Source的名称。

    取值范围:字符串,需要符合标识符的命名规范。

  • TYPE

    将Data Source原来的TYPE修改为指定值。

    取值范围:空串或非空字符串。

  • VERSION

    将Data Source原来的VERSION修改为指定值。

    取值范围:空串或非空字符串或NULL。

  • OPTIONS

    修改OPTIONS中的字段:增加(ADD)、修改(SET)、删除(DROP),且字段名称optname需唯一,具体要求如下:

    增加字段:ADD可以省略,待增加字段不能已经存在了;

    修改字段:SET不可省略,待修改字段必须存在;

    删除字段:DROP不可省略,待删除字段必须存在,且不能指定optvalue;

  • src_new_name

    新的Data Source名称。

    取值范围:字符串,需符合标识符命名规范。

  • new_user

    对象的新属主。

    取值范围:字符串,有效的用户名。

示例

  1. --创建一个空Data Source对象。
  2. postgres=# CREATE DATA SOURCE ds_test1;
  3. --修改名称。
  4. postgres=# ALTER DATA SOURCE ds_test1 RENAME TO ds_test;
  5. --修改属主。
  6. postgres=# CREATE USER user_test1 IDENTIFIED BY 'Gs@123456';
  7. postgres=# ALTER USER user_test1 WITH SYSADMIN;
  8. postgres=# ALTER DATA SOURCE ds_test OWNER TO user_test1;
  9. --修改TYPEVERSION
  10. postgres=# ALTER DATA SOURCE ds_test TYPE 'MPPDB_TYPE' VERSION 'XXX';
  11. --添加字段。
  12. postgres=# ALTER DATA SOURCE ds_test OPTIONS (add dsn 'gaussdb', username 'test_user');
  13. --修改字段。
  14. postgres=# ALTER DATA SOURCE ds_test OPTIONS (set dsn 'unknown');
  15. --删除字段。
  16. postgres=# ALTER DATA SOURCE ds_test OPTIONS (drop username);
  17. --删除Data Sourceuser对象。
  18. postgres=# DROP DATA SOURCE ds_test;
  19. postgres=# DROP USER user_test1;

相关链接

CREATE DATA SOURCEDROP DATA SOURCE