Postgresql db从转储恢复失败

我有一个 Postgresql数据库的转储文件.
但是,如果我运行psql -U user<我得到了 Windows下的db.sql
ERROR:  missing data for column "x"

对于某些行.事实是,“x”的数据并没有丢失.我猜测“x”之前的列中有一些字符会以某种方式破坏导入,但我不知道它可能是什么.

有任何想法吗? Postgre版本是8.3.7

编辑:如果在遇到该行后恢复过程可以优雅地继续,那么可以省略有问题的行.

Edit2:看起来罪魁祸首是转储中的Ctrl-Z字符(ascii 26),它们被解释为windows(?)下的文件结尾.

您是否尝试使用-f标志传递文件而不是重定向输入?也许你的控制台重定向很奇怪:
psql -U user -f db.sql

考虑到它是在Windows上,如果是这种情况我不会感到惊讶.

相关文章

来源:http://www.postgres.cn/docs/11/ 4.1.1.&#160;标识符和关键词 SQL标识符和关键词必须以一个...
来源:http://www.postgres.cn/docs/11/ 8.1.&#160;数字类型 数字类型由2、4或8字节的整数以及4或8...
来源:http://www.postgres.cn/docs/11/ 5.1.&#160;表基础 SQL并不保证表中行的顺序。当一个表被读...
来源:http://www.postgres.cn/docs/11/ 6.4.&#160;从修改的行中返回数据 有时在修改行的操作过程中...
来源:http://www.postgres.cn/docs/11/ 13.2.1.&#160;读已提交隔离级别 读已提交是PostgreSQL中的...
来源:http://www.postgres.cn/docs/11/ 9.7.&#160;模式匹配 PostgreSQL提供了三种独立的实现模式匹...