postgres 9.2 支持json
列。postgres
扩展以基于列自动索引的最佳方法是什么json
。
例如,
create table obj(
obj_id bigserial primary key,
col1 varchar(20),
col2 date,
obj json
);
create index obj_col1 on obj( col1 );
create index obj_col2 on obj( col2 );
当记录被插入或更新时,col1
并且col2
从obj
列中设置。
本质上,规则是除了主键和 json 列本身之外的任何属性都是从 json 对象自动设置的。
作为关联,重命名col1
也会更新json
属性,将col1
那里重命名为新名称。
可以使用catalogue
andexecute
语句来完成,但会像罪恶一样缓慢。
可以通过为每个表创建触发器来完成,但这既乏味又容易出错。
不能通过继承来实现,因为触发器不能被继承。
是extension
最好的方法吗?它甚至会是什么样子?
最终无法写入extension
执行此操作,因为 pg 不支持 CREATE TABLE 或 ALTER TABLE 上的触发器。
对 kludge 的唯一建议是为 DDL 记录日志,监视日志,然后运行一个过程。虽然可以做到这一点,但我们真正需要的是 CREATE 和 ALTER TABLE 上的触发器。