更新时间:2023-10-23 GMT+08:00

ALTER DATA SOURCE

功能描述

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

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

注意选项

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

语法格式

ALTER DATA SOURCE src_name
    [TYPE  'type_str']
    [VERSION  {'version_str' | NULL}]
    [OPTIONS ( {[ ADD | SET | DROP ] optname ['optvalue']} [, ...] )];
ALTER DATA SOURCE src_name RENAME TO src_new_name;
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

    对象的新属主。

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

示例

--创建一个空Data Source对象。
openGauss=# CREATE DATA SOURCE ds_test1;

--修改名称。
openGauss=# ALTER DATA SOURCE ds_test1 RENAME TO ds_test;

--修改属主。
openGauss=# CREATE USER user_test1 IDENTIFIED BY 'Gs@123456';
openGauss=# ALTER USER user_test1 WITH SYSADMIN;
openGauss=# ALTER DATA SOURCE ds_test OWNER TO user_test1;

--修改TYPE和VERSION。
openGauss=# ALTER DATA SOURCE ds_test TYPE 'MPPDB_TYPE' VERSION 'XXX';

--添加字段。
openGauss=# ALTER DATA SOURCE ds_test OPTIONS (add dsn 'gaussdb', username 'test_user');

--修改字段。
openGauss=# ALTER DATA SOURCE ds_test OPTIONS (set dsn 'unknown');

--删除字段。
openGauss=# ALTER DATA SOURCE ds_test OPTIONS (drop username);

--删除Data Source和user对象。
openGauss=# DROP DATA SOURCE ds_test;
openGauss=# DROP USER user_test1;