【发布时间】:2020-10-17 11:29:09
【问题描述】:
我有一张表格,可以收集一定区域内的一些测量值。我知道创建此验证的触发器,但我正在寻找更简单的方法,因为我需要验证我的记录的区域是单个多边形。
这是我的表格的简化版本:
CREATE TABLE measurements (
m_time timestamp,
temperature int,
geom geometry (point,4326)
);
所有插入的记录必须在下面的多边形内
POLYGON((-35.32 -7.96,-35.27 -7.96,-35.27 -8.01,-35.32 -8.01,-35.32 -7.96))
一些示例数据:
INSERT INTO measurements VALUES
('2020-06-26 13:30:08',31,'SRID=4326;POINT(-35.29 -7.98)'),
('2020-06-26 12:27:42',34,'SRID=4326;POINT(-35.29 -7.99)'),
('2020-06-26 12:27:42',34,'SRID=4326;POINT(-35.35 -8.0)'); -- this point lies outside of the polygon
如何在不使用触发器的情况下在插入之前验证记录?
【问题讨论】:
标签: postgresql constraints postgis spatial