Enum Types
Enums map to ClickHouse enums, storing categorical values efficiently.
String Enums
enum UserRole { ADMIN = "admin", USER = "user", GUEST = "guest"} enum Status { PENDING = "pending", ACTIVE = "active", INACTIVE = "inactive"} interface User { role: UserRole; status: Status;}Numeric Enums
enum Priority { LOW = 1, MEDIUM = 2, HIGH = 3, CRITICAL = 4} interface Task { priority: Priority;}Storage efficiency
Enums are stored as integers internally, making them more storage-efficient than strings while maintaining readability in queries.
Enum modifications
Adding new enum values is safe, but removing or renaming values requires careful migration planning as it affects existing data.
See Also
- Strings — When you need arbitrary string values
- LowCardinality — Alternative for dynamic low-cardinality values
- ClickHouse Enum — ClickHouse official documentation