postgres 9.4 pg_dump 备份提示乱码 请教

时间:2021-09-29 02:51:35
d:/Progra~1/PostgreSQL/9.2/bin/pg_dump -i -h localhost -p 5432 -U postgres -F c  -b -v -f "D:/test/test_.backup"  test

9.2中这么写 都是正常能备份的

但是9.4中

d:/Progra~1/PostgreSQL/9.4/bin/pg_dump -i -h localhost -p 5432 -U postgres -F c  -b -v -f "D:/test/test_.backup"  test
提示
postgres 9.4 pg_dump 备份提示乱码 请教

请教原因,解决方法

4 个解决方案

#1


show server_encoding   都是 UTF8

#2


另外 我 本地装了 pg 9.2  pg9.4  然后用 9.4pgAdmin打开  在pgAdmin 操作备份 都是正常的

但在服务器上也是 pg 9.2  pg9.4  然后用 9.4pgAdmin打开  在pgAdmin 操作备份  

提示   打开 9.4 的  pgAdmin  操作 会 用到 9.2的 中pg_dump.exe 

...\PostgreSQL\9.2\bin\pg_dump.exe --host localhost --port 5434 --username "postgres" --no-password  --format custom --blobs --verbose --file "E:\backup\test" "test"
pg_dump: 服务器版本: 9.4.9; pg_dump 版本: 9.2.3
pg_dump: 因为服务器版本不匹配而终止


#3


UTF-8编码的串被当作GBK解码了

"读取"按UTF-8,是 '\xe8\xaf\xbb\xe5\x8f\x96',这个按GBK解码,就是 "璇诲彇"。

#4


假如命令行参数

-E GBK

#1


show server_encoding   都是 UTF8

#2


另外 我 本地装了 pg 9.2  pg9.4  然后用 9.4pgAdmin打开  在pgAdmin 操作备份 都是正常的

但在服务器上也是 pg 9.2  pg9.4  然后用 9.4pgAdmin打开  在pgAdmin 操作备份  

提示   打开 9.4 的  pgAdmin  操作 会 用到 9.2的 中pg_dump.exe 

...\PostgreSQL\9.2\bin\pg_dump.exe --host localhost --port 5434 --username "postgres" --no-password  --format custom --blobs --verbose --file "E:\backup\test" "test"
pg_dump: 服务器版本: 9.4.9; pg_dump 版本: 9.2.3
pg_dump: 因为服务器版本不匹配而终止


#3


UTF-8编码的串被当作GBK解码了

"读取"按UTF-8,是 '\xe8\xaf\xbb\xe5\x8f\x96',这个按GBK解码,就是 "璇诲彇"。

#4


假如命令行参数

-E GBK