我知道您可以在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