Skip to main content
The ALTER TYPE modifies a in the current database. The ALTER TYPE statement performs a schema change. For more information about how online schema changes work in CockroachDB, see .
You can only ALTER TYPE that drop values. This is because when you drop a value, CockroachDB searches through every row that could contain the type’s value, which could take a long time.All other ALTER TYPE schema change jobs are non-cancellable.

Synopsis

alter_type syntax diagram

Parameters

ParameterDescription
type\_nameThe name of the user-defined type.
ADD VALUE valueAdd a constant value to the user-defined type’s list of values. You can optionally specify BEFORE value or AFTER value to add the value in sort order relative to an existing value.
DROP VALUE valueDrop a specific value from the user-defined type’s list of values.
RENAME TO nameRename the user-defined type.
RENAME VALUE value TO valueRename a constant value in the user-defined type’s list of values.
SET SCHEMASet of the user-defined type.
OWNER TOChange the for the user-defined type’s owner.

Required privileges

  • To , the user must be the owner of the type.
  • To set the schema of a user-defined type, the user must have the CREATE on the schema and the DROP privilege on the type.
  • To alter the owner of a user-defined type:
    • The user executing the command must be a member of the new owner role.
    • The new owner role must have the CREATE privilege on the schema the type belongs to.

Known limitations

  • You can only reference a user-defined type from the database that contains the type.

Example

The following example uses a .

Add a value to a user-defined type

To add a value to the status type, use an ADD VALUE clause:

Rename a value in a user-defined type

To rename a value in the status type, use a RENAME VALUE clause:

Rename a user-defined type

To rename the status type, use a RENAME TO clause:

Drop a value in a user-defined type

To drop a value from the account_status type, use a DROP VALUE clause:

See also