PostgreSQL 7.2.1 Documentation
Prev |  | Next

# DROP TYPE

## Name

DROP TYPE -- remove a user-defined data type

## 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

- 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.

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

## Examples

To remove the `box` type:

    DROP TYPE box;

## Compatibility

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.

## See Also

CREATE TYPE

Prev | Home | Next
DROP TRIGGER | Up | DROP USER