ALTEREXTERNAL TABLE
更改外部表的定义.
概要
| ALTER | EXTERNAL | TABLE | name | RENAME | [COLUMN] column TO new_column |
| ALTER | EXTERNAL | TABLE | name | RENAME | TO new_name |
| ALTER | EXTERNAL | TABLE | name | SET SCHEMA newschema | |
| ALTER | EXTERNAL | TABLE | name | action | [,...] |
| ADD [COLUMN]type DROP [COLUMN] column ALTER [COLUMN] column TYPE type [USING expression] OWNER TO newowner
|
where action is one of:
ADD[COLUMN] column_name type
DROP[COLUMN] column
ALTER[COLUMN] column
TYPEtype [USING expression]
OWNERTO new_owner
描述
ALTER EXTERNAL TABLE更改现有外部表的定义。有如下几种形式:
• ADD COLUMN —在外部表的定义里添加新的列.
• DROP COLUMN —从外部表定义中删除一列。请注意,如果您删除可读的外部表列,它只会更改Greenplum数据库中的表定义。外部数据文件不会更改。
• ALTER COLUMN TYPE —更改表的列的数据类型。可选的USING子句指定如何从旧的列值计算新的列值。如果省略,默认转换与从旧数据类型转换为新的转换相同。如果没有从旧类型到新类型的隐式或赋值转换,则必须提供USING子句。
• OWNER —将外部表的所有者更改为指定的用户。
• RENAME —更改外部表的名称或表中单个列的名称。对外部数据没有影响。
• SET SCHEMA —将外部表移动到另一个模式。
您必须拥有外部表才能使用ALTER EXTERNAL TABLE。要更改外部表的模式,您还必须对新模式具有CREATE权限。要更改所有者,您还必须是新拥有角色的直接或间接成员,并且该角色必须对外部表的模式具有CREATE权限。超级用户自动拥有这些权限。
在此版本中,ALTER EXTERNAL TABLE不能修改外部表类型,数据格式或外部数据的位置。要修改此信息,您必须删除并重新创建外部表定义。
parameter
name
要修改的现有外部表定义的名称(可以添加schema前缀)。
column
现有的或新的列名
newcolumn
现有列名的新名称.
new_name
外部表的新名称
type
新列的数据类型,或现有列的新数据类型
new_owner
外部表的新所有者的角色名称
new_schema
新的schema的名称
示例
向外部表定义添加新列:
ALTER EXTERNALTABLE ext_expenses ADD COLUMN manager text;
更改外部表的名称:
ALTER EXTERNALTABLE ext_data RENAME TO ext_sales_data;
更改外部表的所有者:
ALTER EXTERNALTABLE ext_data OWNER TO jojo;
更改外部表的模式:
ALTER EXTERNALTABLE ext_leads SET SCHEMA marketing;
兼容性
ALTER EXTERNAL TABLE是一个Greenplum数据库扩展。 在SQL标准或常规PostgreSQL中没有ALTER EXTERNAL TABLE语句。
相关参考
CREATE EXTERNAL TABLE, DROP EXTERNAL TABLE
本文档详细介绍了在Greenplum数据库中如何使用ALTER EXTERNAL TABLE命令来修改外部表的定义,包括添加、删除和更改列,以及更改表的所有者和模式。请注意,该命令不支持修改外部数据的位置或类型,需通过删除和重建外部表来完成这些操作。

5862

被折叠的 条评论
为什么被折叠?



