Postgresql

PostgreSQL 轉儲和恢復

  • January 29, 2018

我似乎無法使用我的數據庫在 Windows 上轉儲/恢復。使用的行和錯誤消息:

pg_dump -h localhost -U postgres --format=c -O -d ue > latest.dump
pg_restore -h localhost -U postgres -d ue latest.dump

得到這個錯誤,

pg_restore:

$$ archiver $$輸入文件似乎不是有效的存檔

有了這個,

pg_dump -h localhost -U postgres -O -d ue > latest.dump
psql -h localhost -U postgres -d ue -f latest.dump

我得到這個錯誤,

psql:latest.dump:1:錯誤:編碼“UTF8”的字節序列無效:0xff

我完全被難住了。大多數搜尋結果與不使用正確的pg_restore/psql導出的文件類型有關pg_dump,但正如您在上面看到的,我已經解釋了這一點。

latest.dump似乎正確填寫,至少以純格式導出我可以讀取的 SQL,並且是數據庫的正確導出。

顯然問題出在>操作員身上。將其更改-f為指定轉儲文件,解決了問題(使用純格式)。

我正在編寫一個 Powershell 腳本,這可能是根本原因。命令被接受,但那裡可能存在損壞問題。

引用自:https://dba.stackexchange.com/questions/174242