是否可以在 postgresql 中创建一个新的数据类型作为值的范围?

Is it possible to create a new datatype in postgresql as a range of values?

我想要做的是声明一个新类型,它是一个数字范围,类似于:

CREATE TYPE mynumbers AS ENUM(generate_series(1,144,0.5));

基本上我想要一个 mynumbers 类型,它将是 1 到 144 之间的值,步长为 0.5

使用域:

CREATE DOMAIN mynumbers AS numeric
   CHECK (VALUE >= 1 AND VALUE <= 144
          AND trunc(VALUE * 2) = VALUE * 2);

这样的域可以像列定义中的数据类型一样使用。