我知道您可以在hstore列中的字段上创建索引。 我知道你也可以在数组列上创建一个GIN索引。PostgreSQL hstore数组列上的索引
但是,在hstore数组上创建索引的语法是什么?
例如
CREATE TABLE customer (
pk serial PRIMARY KEY,
customer hstore,
customer_purchases hstore[]
);
比方说,客户购买hstore可能像
productId -> 1
price -> 9.99
哈希和我有那些在customer_purchases数组hstore []
我想创建客户索引.customer_purchases [] - > productId
这可能吗?我已经尝试了CREATE INDEX语法的不同组合,并且它们都不支持hstore数组中的索引字段。
如果忽略hstore并简单地使用两个额外的表,这似乎是一个解决的问题。为什么这样做?如果您出于某种原因必须定义一个IMMUTABLE函数,该函数会生成一个可排序的值并在您的CREATE INDEX语法中调用该函数。 – 2012-04-12 03:46:57
正如我在下面的评论中所提到的,我们希望向无模式数据库模型发展,这样我们就可以推出新版本的应用程序,而不需要由数据库升级和ALTER TABLE ADD COLUMN表锁造成的停机时间。 – 2012-04-12 14:02:23