ALTER EXTERNAL TABLE

    where action is one of:

    Description

    changes the definition of an existing external table. These are the supported ALTER EXTERNAL TABLE actions:

    • ADD COLUMN — Adds a new column to the external table definition.
    • ALTER COLUMN TYPE — Changes the data type of a table column.
    • OWNER — Changes the owner of the external table to the specified user.

    Use the ALTER TABLE command to perform these actions on an external table.

    • Set (change) the table schema.
    • Rename a table column.

    You must own the external table to use ALTER EXTERNAL TABLE or ALTER TABLE. To change the schema of an external table, you must also have CREATE privilege on the new schema. To alter the owner, you must also be a direct or indirect member of the new owning role, and that role must have privilege on the external table’s schema. A superuser has these privileges automatically.

    Changes to the external table definition with either ALTER EXTERNAL TABLE or ALTER TABLE do not affect the external data.

    The ALTER EXTERNAL TABLE and ALTER TABLE commands cannot modify the type external table (read, write, web), the table FORMAT information, or the location of the external data. To modify this information, you must drop and recreate the external table definition.

    name

    The name (possibly schema-qualified) of an existing external table definition to alter.

    column

    new_column

    Name of a new column.

    USING expression

    Optional if an implicit or assignment cast exists from the old column data type to new data type. The clause is required if there is no implicit or assignment cast.

    The clause does not affect the external data.

    type

    Data type of the new column, or new data type for an existing column.

    new_owner

    The role name of the new owner of the external table.

    Automatically drop objects that depend on the dropped column, such as a view that references the column.

    RESTRICT

    Refuse to drop the column or constraint if there are any dependent objects. This is the default behavior.

    Examples

    Add a new column to an external table definition:

    Change the owner of an external table:

    Change the data type of an external table:

    When altering the column data type from text to integer, the USING clause is required but does not affect the external data.

    ALTER EXTERNAL TABLE is a Greenplum Database extension. There is no ALTER EXTERNAL TABLE statement in the SQL standard or regular PostgreSQL.

    See Also

    , DROP EXTERNAL TABLE,