---
title: "DROP TYPE"
id: sql-droptype
pg_version: "20devel"
---
# DROP TYPE — remove a data type
## Synopsis
```
DROP TYPE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
```
## Description
`DROP TYPE` removes a user-defined data type. Only the owner of a type can remove it.
## Parameters
**`IF EXISTS`**
Do not throw an error if the type does not exist. A notice is issued in this case. **`name`**
The name (optionally schema-qualified) of the data type to remove. **`CASCADE`**
Automatically drop objects that depend on the type (such as table columns, functions, and operators), and in turn all objects that depend on those objects (see [Section 5.17](ddl-depend.md)). **`RESTRICT`**
Refuse to drop the type if any objects depend on it. This is the default.
## Examples
To remove the data type `box`:
DROP TYPE box;
## Compatibility
This command is similar to the corresponding command in the SQL standard, apart from the `IF EXISTS` option, which is a PostgreSQL extension. But note that much of the `CREATE TYPE` command and the data type extension mechanisms in PostgreSQL differ from the SQL standard.
## See Also
[ALTER TYPE](sql-altertype.md), [CREATE TYPE](sql-createtype.md)