ALTER TYPE modifies the definition of a type.
1 2 3 4 5 6 7 8 9 10 11 12 | ALTER TYPE name action [, ... ] ALTER TYPE name OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER TYPE name RENAME ATTRIBUTE attribute_name TO new_attribute_name [ CASCADE | RESTRICT ] ALTER TYPE name RENAME TO new_name ALTER TYPE name SET SCHEMA new_schema ALTER TYPE name ADD VALUE [ IF NOT EXISTS ] new_enum_value [ { BEFORE | AFTER } neighbor_enum_value ] ALTER TYPE name RENAME VALUE existing_enum_value TO new_enum_value where action is one of: ADD ATTRIBUTE attribute_name data_type [ COLLATE collation ] [ CASCADE | RESTRICT ] DROP ATTRIBUTE [ IF EXISTS ] attribute_name [ CASCADE | RESTRICT ] ALTER ATTRIBUTE attribute_name [ SET DATA ] TYPE data_type [ COLLATE collation ] [ CASCADE | RESTRICT ] |
1 | ALTER TYPE name ADD ATTRIBUTE attribute_name data_type [ COLLATE collation ] [ CASCADE | RESTRICT ] |
1 | ALTER TYPE name DROP ATTRIBUTE [ IF EXISTS ] attribute_name [ CASCADE | RESTRICT ] |
1 | ALTER TYPE name ALTER ATTRIBUTE attribute_name [ SET DATA ] TYPE data_type [ COLLATE collation ] [ CASCADE | RESTRICT ] |
1 | ALTER TYPE name OWNER TO { new_owner | CURRENT_USER | SESSION_USER } |
1 2 | ALTER TYPE name RENAME TO new_name ALTER TYPE name RENAME ATTRIBUTE attribute_name TO new_attribute_name [ CASCADE | RESTRICT ] |
1 | ALTER TYPE name SET SCHEMA new_schema |
1 | ALTER TYPE name ADD VALUE [ IF NOT EXISTS ] new_enum_value [ { BEFORE | AFTER } neighbor_enum_value ] |
1 | ALTER TYPE name RENAME VALUE existing_enum_value TO new_enum_value |
Specifies the name of an existing type that needs to be modified (schema-qualified).
Specifies the new name of the type.
Specifies the new owner of the type.
Specifies the new schema of the type.
Specifies the name of the attribute to be added, modified, or deleted.
Specifies the new name of the attribute to be renamed.
Specifies the data type of the attribute to be added, or the new type of the attribute to be modified.
Specifies a new enumerated value. It is a non-empty string with a maximum length of 64 bytes.
Specifies an existing enumerated value before or after which a new enumerated value will be added.
Specifies an enumerated value to be changed. It is a non-empty string with a maximum length of 64 bytes.
Determines that the type to be modified, its associated records, and subtables that inherit the type will all be updated.
Refuses to update the association record of the modified type. This is the default.
Create an example composite type test, enumeration type testdata, and user user_t.
1 2 3 | CREATE TYPE test AS (col1 int, col text); CREATE TYPE testdata AS ENUM ('create', 'modify', 'closed'); CREATE USER user_t PASSWORD '{Password}'; |
Rename the data type.
1 | ALTER TYPE test RENAME TO test1; |
Change the owner of the user-defined type test1 to user_t.
1 | ALTER TYPE test1 OWNER TO user_t; |
Change the schema of the user-defined type test1 to user_t.
1 | ALTER TYPE test1 SET SCHEMA user_t; |
Add the f3 attribute to the test1 data type.
1 | ALTER TYPE user_t.test1 ADD ATTRIBUTE col3 int; |
Add a tag value to the enumeration type testdata.
1 | ALTER TYPE testdata ADD VALUE IF NOT EXISTS 'regress' BEFORE 'closed'; |
Rename a tag value of the enumeration type testdata.
1 | ALTER TYPE testdata RENAME VALUE 'create' TO 'new'; |