
以下のようにバックアップ後、リストアし、ODBCを利用し、ACCESSでレコード追加したところ、再度、リストアしようとするとエラーが出て、復元できません。
(1)バックアップ
sudo -u test pg_dump -O testdb > /home/test/test-back-1.dmp
(2)リストア
sudo -u test dropdb testdb
sudo -u test createdb -EEUC_JP testdb
sudo -u test psql -e testdb < /home/test/test-back-1.dmp
(3)ODBCを利用し、ACCESSの追加クエリでtbl_tensuのレコードを追加
(4)再度、リストア
sudo -u test dropdb testdb
sudo -u test createdb -EEUC_JP testdb
sudo -u test psql -e testdb < /home/test/test-back-1.dmp
以下のようなエラーが、レコード追加したテーブルも何もしていないテーブルにも出てしまい、正しく復元できません。
ALTER TABLE ONLY tbl_tensu
ADD CONSTRAINT tbl_tensu_primary_key PRIMARY KEY (hospnum, srycd, yukostymd, yukoedymd);
ERROR: multiple primary keys for table "tbl_tensu" are not allowed
CREATE INDEX idx_tensu_formalname ON tbl_tensu USING btree (formalname);
ERROR: relation "idx_tensu_formalname" already exists
CREATE INDEX idx_tensu_kananame ON tbl_tensu USING btree (kananame);
ERROR: relation "idx_tensu_kananame" already exists
CREATE INDEX idx_tensu_kensagrp ON tbl_tensu USING btree (hospnum, srykbn, knsjisgrpkbn);
ERROR: relation "idx_tensu_kensagrp" already exists
CREATE INDEX idx_tensu_name ON tbl_tensu USING btree (name);
ERROR: relation "idx_tensu_name" already exists
何が原因でどうすれば、復元したときにエラーが出なくなるでしょうか?
どなたか、わかる方ご教示ください。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
すでにテーブルが存在する状態で、ダンプファイルからリストアしようとした時のエラーのようです。
「(4)再度、リストア」の時の、データベースの再作成(dropdb/createdb) は本当に成功していますでしょうか。
(3)のODBCで接続した時に、testdbにコネクションが張られた状態となり、
testdbがdropできず、残ったままで、リストアしているのではないかという気がします。
(SQL実行中でなくても、コネクションが1つでも張られている限り、
データベースのdropはできません。)
(4)のsudo -u test dropdb testdb 実行後に、psql -l で確認すると、testdbは
消えておりますでしょうか。
(外していたらすいません)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBA 10分後にエクセル...
-
serial型について
-
SQLSERVER 連番更新について
-
【SQL】他テーブルに含まれる値...
-
PostgresSQLで自動計算
-
フラグをたてるってどういうこ...
-
SELECT INTOで一度に複数の変数...
-
追加クエリで重複データなしで...
-
【sqlite3】deleteしても.dbフ...
-
ExcelのMatch関数のようなもの...
-
dumpでインデックスだけ抜きたい
-
グループ単位での表示?
-
オラクルのUPDATEで複数テーブル
-
テーブル定義書(Oracle) 【IX】...
-
VBAでの行数を揃える方法
-
SQLサーバに対するSQL文で抽出...
-
UPDATEで既存のレコードに文字...
-
Accessの構成をコピーしたい
-
データベース ユーザの「このユ...
-
副問合せを使わずにUNIONと同様...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSVファイルを読み込んでテーブ...
-
timestamp が空のデータを除い...
-
テキストボックスの背景をVB...
-
データがリストアできない!!
-
SQLSERVER 連番更新について
-
エクセルVBA 10分後にエクセル...
-
ACCESS テキストボックスに入...
-
GBLtest test?
-
平均値のもとめ方
-
(Linux、データベース初心者)...
-
型について
-
SQL SERVERの BULK INSERT
-
配列データに対する、要素の追...
-
エクセルと同じファイル名でc...
-
PostgreSQL serial型の質問
-
Japanese schools
-
Accessエクスポート時に連番を...
-
1つのドメインを複数のDNSで管...
-
SELECT文で足し算をした場合、N...
-
図形を作成するマクロ
おすすめ情報