seg

表示线段或浮点间隔的数据类型

概览

扩展包名版本分类许可证语言
seg1.4TYPEPostgreSQLC
ID扩展名BinLibLoadCreateTrustReloc模式
3940seg-
相关扩展cube intarray intagg prefix semver unit pgpdf pglite_fusion

版本

PG18PG17PG16PG15PG14
1.41.41.41.41.4

安装

提示:这是 PostgreSQL 内核自带的 contrib 扩展

CREATE EXTENSION seg;

用法

seg: 线段/浮点区间数据类型

seg 扩展提供了一种数据类型,用于表示线段或浮点区间,适合表示带有不确定性的测量值。

CREATE EXTENSION seg;

输入格式

SELECT '5.0'::seg;           -- 零长度区间(点)
SELECT '5.0 .. 7.0'::seg;    -- 从 5.0 到 7.0 的区间
SELECT '5(+-)0.3'::seg;      -- 区间 4.7 .. 5.3
SELECT '50 ..'::seg;          -- 开区间 >= 50
SELECT '.. 0'::seg;           -- 开区间 <= 0

精度指示符(<>~)可以前置,但仅作为注释使用,运算符会忽略它们。

运算符

空间运算符(支持 GiST 索引):

运算符描述
<<完全在左侧
>>完全在右侧
&<未超出右侧
&>未超出左侧
=相等
&&重叠
@>包含
<@被包含

比较运算符<<=>>=)可用于排序。

索引支持

CREATE INDEX idx ON measurements USING gist (reading);

精度

值以 32 位浮点数对存储,保留最多 7 位有效数字。尾部零会被保留。


最后修改 2026-03-12: update extension pages (f579993)