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:
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.
- Tuple elements cannot be accessed without enclosing the composite variable name in parentheses. For example,
(OLD).columnand(NEW).columnwhen used in triggers.

