DROP TYPE

Name

DROP TYPE  --  Removes user-defined types from the system catalogs

Synopsis

DROP TYPE typename [, ...]
  

Inputs

typename

The name of an existing type.

Outputs

DROP

The message returned if the command is successful.

ERROR: RemoveType: type 'typename' does not exist

This message occurs if the specified type is not found.

Description

DROP TYPE will remove a user type from the system catalogs. Only the owner of a type can remove it.

Notes

Refer to CREATE TYPE for information on how to create types.

It is the user's responsibility to remove any operators, functions, aggregates, access methods, subtypes, and tables that use a deleted type. However, the associated array data type (which was automatically created by CREATE TYPE) will be removed automatically.

Caution

If a built-in type is removed, the behavior of the backend is unpredictable.

Usage

To remove the box type:
DROP TYPE box;

Compatibility

SQL99

A DROP TYPE statement exists in SQL99. As with most other "drop" commands, DROP TYPE in SQL99 requires a "drop behavior" clause to select between dropping all dependent objects or refusing to drop if dependent objects exist:
DROP TYPE name { CASCADE | RESTRICT }
PostgreSQL currently ignores dependencies altogether.

Note that the CREATE TYPE command and the data type extension mechanisms in PostgreSQL differ from SQL99.