ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3142389 エクスポートの方法
質問者:bakenshibakenshi お世話になっております。

postgreSQL初心者です。

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

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

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

postgreSQLバージョン:8.03

簡単なことなのかもしれませんが、どうぞよろしくお願いいたします。
困り度:
  • すぐに回答を!
質問投稿日時:
07/07/05 20:12
この質問に対する回答は締め切られました。

回答良回答20pt

ANo.1 COPYコマンドにはオプションでカラムを指定できます。指定した順に出力されます。
http://www.postgresql.jp/document/pg803doc/html/sql-copy.html

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

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

cretate view v1 as select cast(col1 as timestamp without time zone),col2 from t1;
回答者:JavaZou
種類:回答
どんな人:専門家
自信:自信あり
回答日時:
07/07/09 11:34
参考URL: http://www.postgresql.jp/document/pg803doc/html/
この回答へのお礼JavaZou様、ご教授有難う御座います。

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

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