JAVA Webアプリで postgreSQL の指定したテーブルのデータをバックアップ・リストア
したいと思っています。
開発環境はWindows10
Tomcat8.0
PostgreSQL 9.5.2
Java 1.8.0_91 です。
バックアップは以下のようなString strsqlを
C:\Program Files (x86)\pgAdmin III\1.22\pg_dump.exe --host 192.168.xxx.xxx
--port 5432 --username postgres --no-password --format plain --file
C:\Tomcat8\temp\test.sql --table public.address naozo
Runtime rt = Runtime.getRuntime();
Process p = rt.exec(strsql);
として実行しています。
test.sqlは、正常に作成できました。
これを、リストアしたいのですが、
質問1:リストア時にはリストア対象となるテーブルを削除しておかないとダメでしょう
か?(バックアップしたsqlファイルの中にはDROP、DELETE文がありません)
リストアする時に既存のテーブルを削除する方法を探したのですが見つかりません。
リストアする前に、自分でテーブルを削除するコマンド実行も必要と言う事でしょうか?
リストアは、pgAdminでaddressテーブルを削除してから以下のstrsqlを実行。
C:\Program Files (x86)\pgAdmin III\1.22\psql.exe --d naozo --h 192.168.xxx.xxx
--p 5432 --U postgres --file C:\Tomcat8\temp\test.sql
ですが、リストアができませんでした。
書き方が間違えているでしょうか?
DOSプロンプトでは、
psql -d naozo -f C:\Tomcat8\temp\test.sql -h 192.168.xxx.xxx -p 5432 -U postgres
でリストアできましたが、このままWebアプリで実行したら動かなくて、いろいろ書き足
して上記のようになってしまいました。
アドバイスいただけますようお願いします。
解決しました。