Postgres 9.2 + postgis 2.1データベースからオブジェクトIDですべてのhstoreタグを外部ファイルに抽出(コピー)して後処理する必要があります。キーと値はレコードごとに異なり、キーや値がわからないため、ワイルドカードを使用する必要があります。
残念ながら、私の秘密のデコーダリングは私を失望させたようです。私が試したものは何も機能しなかったためです。おそらく、私の専門知識はすべてVanilla sqlとmysql/mariadbにあるためです。
これを助けてくれてありがとう。
これを行うための関数があり、 hstore拡張 でサポートされています。正確なニーズに応じて、akeys()
またはskeys()
を使用できます。テーブルのIDとキーのコンマ区切りリストを含むファイルに抽出する場合:
SELECT your_id, array_to_string(akeys(hstore_column))
FROM your_table;
この場合も、必要に応じて、これをCOPY
(またはpsql
では\copy
)コマンドを使用するか、お気に入りのクライアントを使用して出力を抽出します。
skeys
関数を探しています:
select skeys(hstore_column)
from the_table;
各キーの値も必要な場合:
select (a).key, (a).value
from (
select each(hstore_column) as a
from the_table
) t;
マニュアルの詳細: http://www.postgresql.org/docs/current/static/hstore.html