Linux 上 postgresql 数据库迁移到 KingbaseES V8R6数据库

本文详细介绍了如何将Linux上的PostgreSQL数据库迁移至KingbaseESV8R6,包括安装必要的Postgres插件、创建相同用户、以及使用Navicat和SQL脚本进行数据迁移的方法。迁移过程中提到了pgGIS、FDW和UUID的支持情况,并指出了直接使用Navicat迁移的限制和SQL导出的步骤。
摘要由CSDN通过智能技术生成

Linux 上 postgresql 数据库迁移到 KingbaseES V8R6数据库

前言

因为要数据库国产化,需要把postgres数据库的大小迁移到 KingbaseES V8R6数据库

一 准备工作

  1. KingbaseES V8R6数据库 的安装步骤

KingbaseES V8R6数据库 的安装步骤,之前已经讲过了,这里直接上链接:
https://blog.csdn.net/yang_z_1/article/details/123252832?spm=1001.2014.3001.5502

  1. 数据库的版本
    postgresql :11.5
    KingbaseES V8R6 企业版 pg版

二 KingbaseES V8R6 安装 postgres 的插件

因为postgres的插件非常好用,之前的业务也使用了,现在需要把数据库从postgres迁移到KingbaseES V8R6 上,必须确保你使用的的插件KingbaseES V8R6上面支持,或者有类似的才行。

1. 安装pggis,

pggis这个插件非常好用,相信大家也都用过,经过测试发现KingbaseES 支持,安装步骤
https://blog.csdn.net/yang_z_1/article/details/123289705?spm=1001.2014.3001.5502

测试

在这里插入图片描述

2. fdw

KingbaseES 也支持fdw功能,安装命令

create extension kingbase_fdw;

在这里插入图片描述

3. uuid

KingbaseES 同样也支持uuid功能,安装命令

create extension "uuid-ossp";

在这里插入图片描述

在这里插入图片描述

三 KingbaseES V8R6 上创建postgres 用户

因为postgresql上的超级用户是postgres,但是KingbaseES V8R6上的超级用户是system,如果直接导入的话会因用户不同,会导致报错。
所以我采取的办法是在 KingbaseES V8R6 上创建postgres 用户 ,这样从pg上就可以直接导出创建表的语句执行了。

CREATE ROLE "postgress" SUPERUSER CREATEDB CREATEROLE LOGIN REPLICATION BYPASSRLS PASSWORD 'postgres123';

我这边直接用超级用户了。

四 测试的迁移方法

1. 直接利用navicat的迁移

首先用navicat上链接2个数据库,从要迁移的数据库中找到一张表,到迁移后的数据库粘贴,就会出现一个数据传输的界面:
在这里插入图片描述
在这里插入图片描述

可以迁移的再上图中都已经体现了。

缺点:

  1. 目前只能表+数据一起迁移,不能只迁移表结构。
  2. 迁移速度非常慢,不建议使用

2. 导出sql来迁移。

2.1 导出表结构

一开始我使用pg_dump 导出sql语句,结果发现会有乱码,也许是格式的问题。

 /usr/pgsql-11/bin/pg_dump --file "/u01/pgsql.txt" --host "0.0.0.0" --port "5432" --inserts  --username "postgres" --dbname "原数据库名" --verbose --role "postgres" --format=c --blobs --encoding "UTF8"

后来我采用 一个模式下的全都导出,利用navicat来实现。
在navicat上模式底下,右键,转存sql语句,选择表结构。

在这里插入图片描述
然后你在KingbaseES V8R6上面执行sql语句就行了,但是需要你先创建好数据库和模式

2.1 导出表数据

我这里也是采用导出sql的方式。毕竟我只是测试,数据量也不大。

/usr/pgsql-11/bin/pg_dump --file "/u01/pgsql.txt"  -a --host "0.0.0.0" --port "5432" --inserts  --username "postgres" --dbname "原数据库名" --verbose --role "postgres" --format=c --blobs --encoding "UTF8"

后记

如果本文章有何错误,请您评论中指出,或联系我,我会改正,如果您觉得这篇文章有用,请帮忙一键三连,让更多的人看见,谢谢
作者 yang_z_1 csdn博客地址: https://blog.csdn.net/yang_z_1?type=blog

  • 16
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 23
    评论
KingbaseES V8是一种基于开源PostgreSQL数据库的企业级数据库管理系统。它被开发为一个高度可扩展和安全的解决方案,适用于各种规模的企业数据处理需求。 KingbaseES V8数据库技术白皮书详细介绍了该数据库系统的特点和优势。下面是一些关键内容: 1. 安全性:KingbaseES V8采用了严格的安全机制来保护数据的机密性和完整性。它支持数据加密、访问控制和安全审计等功能,确保敏感数据不会被未经授权的人员访问。 2. 高可靠性:KingbaseES V8通过提供数据库事务和持久性来确保数据的可靠性。它支持ACID(原子性、一致性、隔离性和持久性)属性,使得数据库在发生故障或中断时能够进行恢复并保持数据的一致性。 3. 高扩展性:KingbaseES V8支持水平和垂直扩展,可以根据业务需求进行灵活的扩展。它能够处理大规模的数据存储和查询,并提供了分布式数据库和集群部署选项。 4. 大数据处理:KingbaseES V8具备处理大数据的能力,通过支持多种数据压缩和索引技术来提高数据存储和查询的效率。同时,它还提供了强大的数据备份和恢复机制,确保在数据发生意外故障时能够及时进行数据恢复。 5. 兼容性:KingbaseES V8与主流数据库标准兼容,可以实现与Oracle、SQL Server等数据库的互通和迁移。这样一来,企业在将原有数据库迁移KingbaseES V8上时,可以事半功倍地减少迁移成本和风险。 总的来说,KingbaseES V8数据库技术白皮书详细介绍了其作为一种可靠、高效和安全的企业级数据库管理系统的优势和功能。这些特点使得KingbaseES V8成为适用于各种企业规模和数据处理需求的理想选择。
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yang_z_1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值