我有一个来自 Postgresql 数据库的转储文件。但是,如果我在 Windows 下运行 psql -U user < db.sql,我会得到
ERROR: missing data for column "x"
Run Code Online (Sandbox Code Playgroud)
对于某些线路。问题是,“x”的数据并没有丢失。我猜“x”前面的列中有一些字符会以某种方式破坏导入,但我不知道它可能是什么。
有任何想法吗?Postgre 版本是 8.3.7
编辑:如果在遇到该行后恢复过程可以正常继续,则可以省略有问题的行。
Edit2:看来罪魁祸首是转储中的 Ctrl-Z 字符(ascii 26),它们在 windows(?)下被解释为文件结尾。
您是否尝试过使用-f
标志传递文件而不是重定向输入?也许您的控制台的重定向行为很奇怪:
psql -U user -f db.sql
Run Code Online (Sandbox Code Playgroud)
考虑到它在 Windows 上,如果是这种情况,我不会感到惊讶。
归档时间: |
|
查看次数: |
4731 次 |
最近记录: |