キーと値のペアを格納するIDとhstore列の2つの列があるテーブルがあるとします。
その列を次のようにクエリできます。
SELECT name, attributes->'device' as device
FROM products
WHERE attributes->'edition'= 'ebook'
キー/値がhstore
列のすべてではなく、ビューの列として表示されるこのテーブルのビューを作成できますか?
例:アメニティのキーが含まれる可能性があるhstoreキーがあります。 IDとアメニティの値を新しいビューに表示するビューを作成します。
できますよ。
CREATE VIEW v_ebooks AS
SELECT products_id, attributes->'device' AS device
FROM products
WHERE attributes->'edition'= 'ebook';
ただし、列のstaticセットの場合のみです。 hstore
列のすべての可能な属性の動的出力は、作成時に戻り値の型を宣言する必要があるという要件と競合します。
この後者の答えは、完全に動的なソリューションを(2つのステップで)提供します。