September 26, 2024: PostgreSQL 17 Released!
Supported Versions: Current (17) / 16 / 15 / 14 / 13 / 12
Development Versions: devel
Unsupported versions: 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0
This documentation is for an unsupported version of PostgreSQL.
You may want to view the same page for the current version, or one of the other supported versions listed above instead.

ALTER TYPE

Name

ALTER TYPE --  change the definition of a type

Synopsis

ALTER TYPE name RENAME TO new_name
ALTER TYPE name OWNER TO new_owner 
ALTER TYPE name SET SCHEMA new_schema
  

Description

ALTER TYPE changes the definition of an existing type.

You must own the type to use ALTER TYPE. To change the schema of a type, 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 CREATE privilege on the type's schema. (These restrictions enforce that altering the owner doesn't do anything you couldn't do by dropping and recreating the type. However, a superuser can alter ownership of any type anyway.)

Parameters

name

The name (possibly schema-qualified) of an existing type to alter.

new_name

The new name for the type.

new_owner

The user name of the new owner of the type.

new_schema

The new schema for the type.

Examples

To rename a data type:

ALTER TYPE electronic_mail RENAME TO email;
   

To change the owner of the type email to joe:

ALTER TYPE email OWNER TO joe;
   

To change the schema of the type email to customers:

ALTER TYPE email SET SCHEMA customers;
   

Compatibility

There is no ALTER TYPE statement in the SQL standard.