PostgreSQL9.3
pgadminⅢを使用しています。
PostgreSQLのテーブルをバックアップするために下記コマンドを実行して取得しているのですが
主キー設定等が消えてしまい、リストアした際に、主キー設定がされていないことで正常にデータ取り込めないという
現象が発生します。
pg_dumpコマンドでは、主キー設定はコピーできないのでしょうか?
pg_dump -h 10.2x.xx.2xx -p 5432 -U postgres -w -Fc>バックアップ.bk
もし可能であればオプションを-Fpに変えて-sを付けて作成したファイルの中を見てみては、どうでしょうか。ALTER TABLE ONLY hoge ADD CONSTRAINT hoge_pkey PRIMARY KEY (....);が有るとおもいますが。
-Fpとすると、キー設定もコピーしてテキスト形式で出力されているようです。リストアしようとするとエラーになります。可能であればアーカイブ形式でバックアップを取りたいのですができないですかね??
どの様なエラーが出力されますでしょうか?alterのエラーですか。psql -lでDBのオーナーが確認できます。
[アーカイバ] 入力ファイルが有効なアーカイブではないようです というエラーがでます。
pg_restore -U posgres -d hogedb -w -v /tmp/hogedb.dmpで戻されているのでしょうか
pg_Restore -h %IP% -p 5432 -U postgres -d hoge hoge.bak で戻しています
細かいですがpg_dumpの際にdbnameを指定されては、いかがでしょうか?restoreの際には指定されているので
とりあえず、psql (9.3.6)、pgAdmin3(1.22.1)の組み合わせでは、KEYは作成されました。