PostgreSQL 自定义数据类型
PostgreSQL 提供了 create type 语法用于创建自定义类型,自定义数据类型是对内置数据类型的补充,其本身基于内置数据类型实现,可以根据业务需要组合内置基础数据类型,创建自定义的复合数据类型。
1. 自定义类型
创建一个简单的自定义类型,名称为 my_type1,其包含 start 和 stop 两个 timestamp 类型的字段,如下:
create type my_type1 as (start timestamp, stop timestamp);
基于自定义类型 my_type1,再创建一个自定义类型 my_type2,如下:
create type my_type2 as (ts my_type1, name text);
使用自定义类型创建表并插入数据,如下:
create table t(c1 my_type1, c2 my_type2); insert into t values( ('2022-01-01 14:30:00','2022-01-02 14:30:00'), (('2022-01-01 14:30:00','2022-01-02 14:30:00'),'abc'));
2. 枚举类型
create type 可以创建枚举类型,如下:
create type color as enum('red','blue','green');
使用枚举类型创建表,并插入数据,如下:
create table t(c1 color); insert into t values('red');
3. 删除自定义类型
执行 drop type SQL 命令可以删除已创建的自定义类型,如下:
drop type color;
或者级联删除相关的关联对象:
drop type color cascade;
文章评论
共0条评论