PostgreSQL 转储和恢复

Jos*_*osh 5 postgresql windows pg-dump pg-restore

我似乎无法使用我的数据库在 Windows 上转储/恢复。使用的行和错误消息:

pg_dump -h localhost -U postgres --format=c -O -d ue > latest.dump
pg_restore -h localhost -U postgres -d ue latest.dump
Run Code Online (Sandbox Code Playgroud)

得到这个错误,

pg_restore: [archiver] 输入文件似乎不是有效的存档

有了这个,

pg_dump -h localhost -U postgres -O -d ue > latest.dump
psql -h localhost -U postgres -d ue -f latest.dump
Run Code Online (Sandbox Code Playgroud)

我收到这个错误,

psql:latest.dump:1: 错误:编码“UTF8”的字节序列无效:0xff

我完全被难住了。大多数搜索结果与不使用正确的pg_restore/psql与导出的文件类型有关pg_dump,但正如您在上面看到的,我已经考虑了这一点。

latest.dump 似乎正确填写,至少以纯格式导出我可以阅读的 SQL 并且是数据库的正确导出。

Jos*_*osh 6

显然问题出在>运营商身上。将其更改-f为指定转储文件,解决了问题(使用纯格式)。

我正在编写一个 Powershell 脚本,这可能是根本原因。命令被接受,但那里可能存在损坏问题。