博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
postgresql 字符集server_encoding变更
阅读量:6381 次
发布时间:2019-06-23

本文共 1237 字,大约阅读时间需要 4 分钟。

--今天在使用postgres_fdw做远端数据库转储时,发现本地所使用的字符集与远端是不同的,造成插入数据错误
postgres=# insert into t select * from for_t;    
ERROR:  character with byte sequence 0xe7 0xa6 0xb4 in encoding "UTF8" has no equivalent in encoding "EUC_CN"
CONTEXT:  Remote SQL command: SELECT  pnr FROM rudy.t
--本地的编码
postgres=# select name,setting,context from pg_settings  where name like '%encoding%';     
      name       | setting | context  
-----------------+---------+----------
 client_encoding | UTF8    | user
 server_encoding | EUC_CN  | internal
 
 --远端的数据库编码
 dev=# select name,setting,context from pg_settings  where name like '%encoding%';     
      name       | setting | context  
-----------------+---------+----------
 client_encoding | UTF8    | user
 server_encoding | UTF8    | internal
 
 
 --可以选择导出数据,使用inserts方式,再执行导入
 pg_dump -d dev -t rudy.t --data-only --inserts -f /tmp/t.sql
 psql -l -f /tmp/t.sql
 
 --注意使用这种方式导入时比较慢
 --如果其中某一行命令出错,那么将仅有该行数据丢失,而不是整个表的数据丢失,即不能做到事务安全
 --由于编码的原因会造成一部分数据不能导入成功
 ERROR:  character with byte sequence 0xe7 0xa6 0xb4 in encoding "UTF8" has no equivalent in encoding "EUC_CN"
 
 
 
 --也可以重新初始化一个新的数据库集群
--备份整个数据库集群
 pg_dumpall -f /tmp/pg_dump.sql
  mv data/ data_bak
  initdb -E UTF8 --local=C
  --覆盖新生成的配置文件
  cp ../data_bak/postgresql.conf .
  cp ../data_bak/pg_hba.conf . 
 --导入之前导出的文件则可
  psql -f /tmp/pg_dump.sql

转载地址:http://rjhqa.baihongyu.com/

你可能感兴趣的文章
地平线“小目标”:2025年,三千万汽车搭载地平线自动驾驶BPU
查看>>
“2016大数据技术与应用人才培养研讨会” 在泸州成功召开
查看>>
大数据和数字化转型
查看>>
如何知道自己的CPU支持SLAT
查看>>
客户端在使用citrix应用如何开启本地输入法
查看>>
C# 一个字符串是否在另外一个字符串数组里 Array.Exists 的用法 Array.IndexOf 用法...
查看>>
delphi实现计算器
查看>>
CentOS7 网卡命名
查看>>
如何在Hudson上集成sonar来实现代码质量控制
查看>>
Django进阶之缓存和信号
查看>>
DataGridView 设定单元格只读:
查看>>
缺陷跟踪工具jira和团队协作与项目管理工具conflunce
查看>>
shell特性及变量设置
查看>>
RHEL6入门系列之十五,管理用户和组
查看>>
特斯拉悄悄搞出无人车AI芯片,已经投产测试,而且没带英伟达
查看>>
LVS、Nginx和HAProxy负载均衡器对比总结
查看>>
Samsung_tiny4412(驱动笔记01)----linux 3.5,U-Boot,Busybox,SD卡启动环境搭建
查看>>
爬虫攻略(一)
查看>>
正则表达式语法
查看>>
修改Android系统字号(一)
查看>>