2012-01-06 4 views
0

私はかなり基本的なデータベースを持っています。私は良いサイズのユーザーリストをdbにドロップする必要があります。ダンプファイルがあり、.pgファイルに変換して、何らかの形でこのデータをロードする必要があります。PostgreSQLのダンプファイルを開き、実際のデータを追加する方法を教えてください。

追加する必要があるデータは、CSV形式です。

答えて

3

私はあなたが「カスタム」形式のデータベースダンプであると想定している.pgファイルが既にあるとします。

PostgreSQLはload data in CSV format using the COPY statementです。したがって、絶対に簡単なことは、この方法でデータをデータベースに追加することだけです。

実際にダンプを編集する必要があり、ファイルが「カスタム」形式である場合、手動でファイルを編集することはできません。ただし、pg_restoreを使用して、カスタム形式からプレーンSQLバックアップを作成し、代わりに編集することができます。 pg_restore-d引数を指定すると、挿入用のSQLスクリプトが生成されます。

+0

ファイルが...助けてくれてありがとうHerokuのからダンプです... –

0

Danielが提案したように、最も簡単な解決策は、データをCSV形式で保存し、そのままPostgresにインポートすることです。

このCSVデータをサードパーティのPostgresダンプファイルにマージしようとする場合は、最初にデータをSQLの挿入ステートメントに変換する必要があります。

一つの可能​​なUNIXソリューション:

awk -F, '{printf "INSERT INTO TABLE my_tab (\"%s\",\"%s\",\"%s\");\n",$1,$2,$3}' data.csv 
関連する問題