是否有可能编写一个PostgreSQL扩展来修改DDL语法?
我正在创建一个基于PostgreSQL和PostGIS的扩展,以支持特定空间数据模型(OMT-G)的完整性约束。为此,我想修改CREATE TABLE语法,它接受这种语法的CONSTRAINT:
CONSTRAINT constraint_name CHECK ( expression )
但我希望创建自己的语法,类似下面的示例,然后调用已经编写好的函数或触发器。
CREATE TABLE school_district (
id integer PRIMARY KEY,
school_name varchar(120)
geom geometry,
SPATIAL_CONSTRAINT PLANAR_SUBDIVISION (geom),
SPATIAL_CONSTRAINT CONTAINS school (geom)**
);
这是可能的吗?如果是,怎么做呢?

CHECK语法即可。这样就可以实现您想要的功能。 - Gordon Linoff