postgresql 导入导出的一个BUG

宏哥 发布于 2013/04/09 22:59
阅读 542
收藏 0

Postgresql 有一个大的BUG, 每次导出导入之后, 函数定义当中的换行都会DOUBLE.

发现原因是 因为Pgadmin编辑的文件换行是^M, 导入导出之后居然一次次的被加倍.

以下是问题补充:

@宏哥:Postgresql 会在导入/导出的时候, 对函数的换行符修改为DOS格式, 就是增加了^M, 多次导入导出之后, ^M就会成倍增加. (2013/04/10 00:03)
加载中
1
宏哥
宏哥

这个问题通过将脚本修改为:

psql -h 127.0.0.1 -U postgres -W cm -f cm.sql 

问题解决了

事实证明在putty下 用psql -h 127.0.0.1 -U postgres -W cm < cm.sql 

重定向会导致换行的问题.

0
宏哥
宏哥
pg_dump出来的居然是DOS格式.
0
宏哥
宏哥

这个BUG真是令人难受

0
kenyon_君羊
kenyon_君羊
导入是正常的吗?
0
宏哥
宏哥

引用来自“kenyon(君羊)”的答案

导入是正常的吗?

导入导出都是正常的, 唯一的区别就是, 

每一次导出--〉导入, 函数当中的换行, 都会增加一次。就是多了^M。

如果我做以下操作 导出--〉文本编辑去除所有^M--> 导入 --〉导出

则导出 文件仍然出现 ^M. 在所有函数定义的地方。  

0
kenyon_君羊
kenyon_君羊
我用pg_dump没有看到你说的东西。
数据库里:

我导出来的文件里面

我的导出语句是:pg_dump -U postgres -b -Fp  postgres  -f postgres.bak

0
mark35
mark35

我用pg_dump导出的也是unix格式换行

是不是服务器配置或者ftp软件自动转码的?

0
宏哥
宏哥

引用来自“kenyon(君羊)”的答案

我用pg_dump没有看到你说的东西。
数据库里:

我导出来的文件里面

我的导出语句是:pg_dump -U postgres -b -Fp  postgres  -f postgres.bak

我觉得是导入的问题,

我导入是直接用psql 来执行的。

导出文件我手工去除^M之后, 用psql导入, 再导出就出现了^M

返回顶部
顶部