Web系のこととかー。

PostgreSQLでダンプするには

$pg_dump データベース > dump.sql
$pg_dump データベース -U ユーザ -h ホスト -t テーブル > dump.sql

とかまぁやれば良いんだけど、テーブルの中の一部分。さらに言えば、SELECTで絞った状態のデータがCSVとして欲しいなぁというときには、psqlコマンドを使って以下のようにすれば良い。

$psql データベース -U ユーザ -h ホスト -c "SELECT * FROM table WHERE 1=1;" -A -F,> dump.txt

psqlのオプションで A と F を使ってやるとできる。

  • Aオプション:テーブルの要素を出力するときの均等割り付けを行いません。
  • F(separator)オプション:separator をフィールドセパレータとして使用します。 デフォルトは ASCII の縦棒 (“|”) です。

つまり、-F の後を変更すれば、カンマ区切り以外にもできる。

MySQLの場合は、MySQLでコマンドから直接クエリを実行し、CSVファイルに保存するを参照。

§269 · 12月 21, 2010 · 技術その他 · · [Print]

1 Comment to “PostgreSQLで一部分のデータのみダンプする方法”

  1. [...] PostgreSQLの場合は、PostgreSQLで一部分のデータのみダンプする方法を参照。 AKPC_IDS += "273,"; §273 · 1月 4, 2011 · 技術その他 · · [Print] [...]

Leave a Reply