PostgreSQLのバックアップとリストア 上書きできずエラー
PostgreSQLでリストアした時に既存DBある場合のエラー
サーバーの移設の話で、移行先のPostgreSQLのDBに移行前のDBを反映しようと思ったら、下記のエラーでレストアのエラーになります
# 移行前のサーバーよりDBのバックアップを取得する $ pg_dump demoshop> /var/tmp/pg_demo.db # 移行先のサーバーでDBをレストア(復元)する $ psql -U postgres -f /var/tmp/pg_demo.db demoshop ・・・・・・ ALTER TABLE psql:/var/tmp/pg_demo.db:1104: ERROR: relation "m売上" already exists
PostgreSQLの復元するDBが存在する場合に、レストア時にDBを削除しないので、既存のDBをある場合はエラーになりレストアできないようです
既存のDBを削除(drop database DB名)してから再度作成(create database DB名)してから、psqlコマンドでレストアすれば問題なく復元できました
drop databaseを叩く前に念の為に、DBはバックアップした方が良いかと思います
$ psql postgres=# drop database demoshop; postgres=# create database demoshop; postgres=# \q $ psql -U postgres -f /var/tmp/pg_demo.db demoshop
ディスカッション
コメント一覧
まだ、コメントがありません