更新时间:2024-10-14 GMT+08:00

ALTER FOREIGN TABLE (导入导出)

功能描述

用于对外表进行修改。

注意事项

OPTIONS中的敏感字段(如password、secret_access_key)在使用多层引号时,语义和不带引号的场景是不同的,因此不会被识别为敏感字段进行脱敏。

语法格式

  • 设置外表属性
    1
    2
    ALTER FOREIGN TABLE [ IF EXISTS ]  table_name
        OPTIONS ( {[ ADD | SET | DROP ] option ['value']}[, ... ]);
    
  • 设置新的所有者
    1
    2
    ALTER FOREIGN TABLE [ IF EXISTS ] tablename
        OWNER TO new_owner;
    
  • 设置外表字段选项
    ALTER FOREIGN TABLE [ IF EXISTS ] table_name
        ALTER column_name OPTIONS;

参数说明

  • table_name

    需要修改的外表名称。

    取值范围:已存在的外表名。

  • option

    需要修改的option名称。

    取值范围:请参见CREATE FOREIGN TABLE的参数说明

  • value

    option的新值。

示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
--创建外部表。
openGauss=# CREATE FOREIGN TABLE tpcds.customer_ft
(
    c_customer_sk             integer               ,
    c_customer_id             char(16)              ,
    c_current_cdemo_sk        integer               ,
    c_current_hdemo_sk        integer               ,
    c_current_addr_sk         integer               ,
    c_first_shipto_date_sk    integer               ,
    c_first_sales_date_sk     integer               ,
    c_salutation              char(10)              ,
    c_first_name              char(20)              ,
    c_last_name               char(30)              ,
    c_preferred_cust_flag     char(1)               ,
    c_birth_day               integer               ,
    c_birth_month             integer               ,
    c_birth_year              integer                       ,
    c_birth_country           varchar(20)                   ,
    c_login                   char(13)                      ,
    c_email_address           char(50)                      ,
    c_last_review_date        char(10)
)
    SERVER gsmpp_server
    OPTIONS
(
    location 'gsfs://10.185.179.143:5000/customer1*.dat',
    FORMAT 'TEXT' ,
    DELIMITER '|',
    encoding 'utf8',
    mode 'Normal')
READ ONLY;

--修改外表属性,删除mode选项。
openGauss=# ALTER FOREIGN TABLE tpcds.customer_ft options(drop mode);

--删除外部表。
openGauss=# DROP FOREIGN TABLE tpcds.customer_ft;