我通過命令行將數據庫'mydatabase'轉儲到文本文件'mydatabase.sql'中。Howto pg_restore
"C:/Program Files (x86)/PostgreSQL/9.1/bin/pg_dump.exe " --host localhost --port 5432 --username "postgres" --no-password --verbose --file "C:\Users\User 1\Desktop\mydatabase.sql" "mydatabase"
Thas'很好。 但經過多次嘗試後,我無法將pg_restore這些文件返回數據庫。
但如果我刪除此數據庫中所有表我可以做到這一點:
psql -f "C:\Users\User 1\Desktop\mydatabase.sql" "mydatabase" "postgres"
這恢復的所有數據。 問題是,我不能運行通過VBNET /殼pgsl所以我寧願需要pg_restore.exe 這是我的嘗試:
"C:/Program Files (x86)/PostgreSQL/9.1/bin/pg_restore.exe " -i -h localhost -p 5432 -U postgres -d "mydatabase" -v "C:\Users\User 1\Desktop\mydatabase.sql"
...在那裏我得到消息:
Ç :\ Users \ User 1>「C:/ Program Files(x86)/PostgreSQL/9.1/bin/pg_restore.exe」-i -h localhost -p 5432 -U postgres -d「mydatabase」-v「C:\ Users \ User 1 \ Desktop \ mydatabase.sql「 無效二進制文件」C:/ Program Files(x86)/ PostgreSQL/9.1/bin/ppg_restore.exe「 pg_restore.exe:[archiver]輸入文件似乎不是有效檔案
在嘗試恢復之前我有空的數據庫'mydatabase'在服務器上(沒有表)。 請幫助獲得pg_restore與'mydatabase.sql'一起工作,該工具使用pg_dump轉儲,並顯然包含正確的數據,因此我可以通過純命令行或VBNET/shell使用它。
我明白了。這項工作:)非常感謝! –