postgresql 字符集server_encoding变更

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: --今天在使用postgres_fdw做远端数据库转储时,发现本地所使用的字符集与远端是不同的,造成插入数据错误postgres=# insert into t select * from...
--今天在使用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
相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
6月前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用合集之写doris,mysql字段变更,重新提交才能同步新字段数据吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
4月前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用问题之要将MySQL同步到Doris,并设置整库同步,只变更库名、表名和表结构都不变,该如何设置
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
4月前
|
运维 关系型数据库 MySQL
实时计算 Flink版产品使用问题之在处理MySQL表新增数据记录时,没有正确触发变更事件,该如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
4月前
|
消息中间件 关系型数据库 MySQL
实时计算 Flink版产品使用问题之从MySQL数据库中捕获变更数据并进行实时处理如何按天分表同步CDC数据
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6月前
|
Kubernetes 关系型数据库 MySQL
实时计算 Flink版产品使用合集之在Kubernetes(k8s)中同步MySQL变更到Elasticsearch该怎么操作
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
缓存 关系型数据库 MySQL
Java 实现实时监听MySQL数据库变更MySQLBinListener
Java 实现实时监听MySQL数据库变更MySQLBinListener
|
6月前
|
数据管理 关系型数据库 MySQL
数据管理DMS产品使用合集之DMS可以接入其他平台的MySQL数据库,是否还支持无感知变更功能
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
|
关系型数据库 MySQL
MySql 627.变更性别
MySql 627.变更性别
55 0
MySql 627.变更性别
|
SQL 容灾 Java
ORM规约变更经典案例---mysql军规
  先介绍一下《MySQL数据库开发的三十六条军规》,这里只介绍核心的,具体内容大家可以自行百度,这是从底层开发人员到管理者必须知道规范。出自58赶集。 写在前面的话:   总是在灾难发生后,才想起容灾的主要性;   总是在吃过亏后,才记得有人提醒过。
ORM规约变更经典案例---mysql军规
|
Oracle 关系型数据库 数据库
PostgreSQL技术周刊第27期:PostgreSQL变更事件捕获(CDC) 原理应用与实践
【点击订阅PostgreSQL技术周刊】 PostgreSQL(简称PG)的开发者们:云栖社区已有5000位PG开发者,发布了3000+PG文章(文章列表),沉淀了700+的PG精品问答(问答列表)。
5578 0