ALTER EXTERNAL TABLE

    其中action是下列之一:

    1. DROP [COLUMN] column
    2. TYPE type [USING expression]

    描述

    ALTER EXTERNAL TABLE 更改一个现有外部表的定义。有几种子形式:

    • DROP COLUMN — 从外部表定义中删除一列。请注意,如果用户删除可读的外部表列,它只会更改Greenplum数据库中的表定义。外部数据文件不会更改。
    • ALTER COLUMN TYPE — 更改表的列的数据类型。 可选的 USING 可选的USING子句指定如何从旧数据计算新的列值。 如果省略,则默认转换与从旧数据类型转换为新的转换相同。USING 必须被提供,如果没有从旧类型到新类型的隐式或赋值转换,
    • OWNER — 将外部表的所有者更改为指定的用户。
    • RENAME — 更改外部表的名称或表中单个列的名称。对外部数据没有影响。
    • SET SCHEMA —将外部表移动到另一个模式。

    用户必须拥有外部表才能使用ALTER EXTERNAL TABLE. 要更改外部表的模式,用户还必须对新模式具有 CREATE 权限。要更改所有者,用户还必须是新拥有角色的直接或间接成员,该角色必须对外部表的模式具有CREATE 特权。超级用户自动拥有这些权限。

    在此版本中, ALTER EXTERNAL TABLE 不能修改外部表类型,数据格式或外部数据的位置。 要修改此信息,用户必须删除并重新创建外部表定义。

    name

    要修改的现有外部表定义的名称(可以是方案限定)。

    column

    new_column

    现有列的新名称。

    new_name

    外部表的新名称。

    type

    新列的数据类型或现有列的新数据类型。

    new_owner

    new_schema

    该表要被移动到其中的模式的名称。

    示例

    向外部表定义添加新列:

    更改外部表的名称:

      更改外部表的所有者:

      更改外部表的模式:

      ALTER EXTERNAL TABLE 是 Greenplum数据库的一个扩展。 没有 ALTER EXTERNAL TABLE 语句在SQL标准或常规PostgreSQL

      另见

      上级主题: