CREATE TYPE statement creates a new type in a database. After the type is created, it can only be referenced from the database that contains the type.
The following user-defined data types can be created with this statement:
To create a domain data type, use
CREATE DOMAIN.The
CREATE TYPE statement performs a schema change. For more information about how online schema changes work in CockroachDB, see Online Schema Changes.Synopsis
Parameters
Required privileges
- To create a type, the user must have the
CREATEprivilege on the parent database and the schema in which the type is being created. - To use a user-defined type in a table (e.g., when defining a column’s type), the user must have the
USAGEprivilege on the type.
Example
Create an enumerated data type
Use the statements below to create anENUM data type.
SHOW TYPES:
ENUM data type, use SHOW ENUMS:
Create a composite data type
Use the statements below to create a composite data type:mypoint:
Known limitations
- Updating subfields of composite types using dot syntax results in a syntax error.
- In the
WHENclause of a trigger,OLDandNEWmust be enclosed in parentheses to access their columns. For example, write(NEW).column, notNEW.column.

