2011年8月25日木曜日

COPY文に条件指定


PostgreSQLのCOPY文で条件指定が出来るらしい。
http://d.hatena.ne.jp/yuum3/20071213/1197535601

COPYはテーブル全体をファイルに落としたり、反対にファイルからテーブルに突っ込んだりできるが、条件指定は無理だと思ってた。
COPY ( SELECT ... ) TO '/tmp/filename';
とSELECTでなんでも出来るなら、これはいろいろ捗りそう!

と思い、やってみたけどダメ…。
なんで?COPY ( SELECT ...と打っても、SYNTAX ERRORに。
PostgreSQLのバージョンも8.1.4。8系なら大丈夫、とあったが、やっぱりこれかなぁ?

公式のドキュメントをみてみると
http://www.postgresql.jp/document/pg814doc/html/sql-copy.html
COPY文の定義として(SELECT のようなクエリは打ち込めなくなってる…。

いつから出来るようになったんだろう…?と探してみると
http://www.postgresql.jp/document/pg820doc/html/sql-copy.html

8.2.0からは可能になったみたい。
プロダクションなので簡単にバージョンアップは出来ないし、そこまでリスクを負うほどのことでもないし。

ということで、結局試さないままでした。


0 件のコメント: