重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

お世話になっております。

postgreSQL初心者です。

エクスポートの方法をご教授頂きたいです。

COPYコマンドでCSVをエクスポートしたいのですが
・カラム順を指定出来ないでしょうか?
・またデータでタイムスタンプが登録されている場合、タイムスタンプ部分を削除してエクスポートする方法はないでしょうか?
 例)タイムスタンプ付き 2006-10-12 16:50:01+09
   タイムスタンプ削除 2006-10-12 16:50:01

ちなみに
・pg_dump -D でINSERT文を抜き出す際もタイムスタンプを削除出来ませんでしょうか?

postgreSQLバージョン:8.03

簡単なことなのかもしれませんが、どうぞよろしくお願いいたします。

A 回答 (1件)

COPYコマンドにはオプションでカラムを指定できます。

指定した順に出力されます。
http://www.postgresql.jp/document/pg803doc/html/

「タイムスタンプ部分」は「タイムゾーン」のことですね?
タイムゾーン不要ならCREATE TABLEの時に"without time zone"しておくのが一番簡単です。
http://www.postgresql.jp/document/pg803doc/html/

既に定義済みのテーブルからどうしてもタイムゾーン無しのデータをエクスポートしたいのなら、一旦ビューテーブルを作ってそのビューテーブルをエクスポートするとよいでしょう。

cretate view v1 as select cast(col1 as timestamp without time zone),col2 from t1;

参考URL:http://www.postgresql.jp/document/pg803doc/html/
    • good
    • 0
この回答へのお礼

JavaZou様、ご教授有難う御座います。

>COPYコマンドにはオプションでカラムを指定できます。指定した順に出力されます。
おぉ~そんなことが出来たのですね。

>既に定義済みのテーブルからどうしてもタイムゾーン無しのデータをエクスポートしたいのなら、一旦ビューテーブルを作ってそのビューテーブルをエクスポートするとよいでしょう。
既に定義済みですので、タイムゾーンを削除するいい方法があればよかったのですが、
やっぱりないんですね。
JavaZou様のビューを作成してからの案が良案だと思いますので
その案で進めたいと思います。
大変助かりました。
有難う御座いました。

お礼日時:2007/07/09 12:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す