Table of Contents
pg_dump でエクスポートする場合、 -s
, -a
のオプションをつけることで挙動が多少変わる。 -s
, -a
オプションは次のような場合に使われる。
スキーマ・データを別にエクスポートする
スキーマ情報のみをエクスポートする
別のデータベースに似たような構造を作りたい場合などに使える。
もし全てのテーブルのスキーマをエクスポートしたい場合は、 オプション -t TABLE_NAME
を除いて実行します。
データのみをエクスポートする
コマンドは変更される可能性もあるので、最新のものは PostgreSQL のドキュメントで確認してください。
エクスポートしたものをインポートするには -f file_name
をつけて psql
を実行する。
私はこのコマンドを、カラムを追加する場合に使っている。
カラムの追加
PostgreSQL だと既存のカラムの最後にしかカラムを追加できない。 MySQL だと 特定のカラムの後ろに新しいカラムを追加することができる。
そこで私は次のようにして列を追加することがある。
テーブルスキーマとテーブルデータをエクスポートする。 (データとスキーマをまとめてエクスポートしてもいい。)
テーブルスキーマを変更する、テーブル削除のSQLを追加する
念のためバックアップを取得する
テーブルを変更する