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

文章目录

  • Linux 上 postgresql 数据库迁移到 KingbaseES V8R6数据库
  • 前言
  • 一 准备工作
  • 二 KingbaseES V8R6 安装 postgres 的插件
    • 1. 安装pggis,
    • 2. fdw
    • 3. uuid
  • 三 KingbaseES V8R6 上创建postgres 用户
  • 四 测试的迁移方法
    • 1. 直接利用navicat的迁移
      • 缺点:
    • 2. 导出sql来迁移。
      • 2.1 导出表结构
      • 2.1 导出表数据
  • 后记

前言

因为要数据库国产化,需要把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

Linux 上 postgresql 数据库迁移到 KingbaseES V8R6数据库相关推荐

  1. 使用SQL Server事务复制将SQL Server数据库迁移到Azure SQL数据库

    In this guide, we'll discuss more about migrating a SQL Server database to Azure SQL Database using ...

  2. 将本地SQL Server数据库迁移到Azure SQL数据库

    In this article, we will discuss and understand a method to migrate an on-premises SQL Server databa ...

  3. mysql rds 迁移_数据库迁移:如何将数据库从本地MySQL迁移到服务器RDS上?

    使用 数据传输服务 DTS 可以将本地 MySQL 实例的数据迁移到 RDS for MySQL 实例.数据传输服务 DTS (以下简称 DTS) 提供的增量数据同步功能,可以实现在本地应用不停服的情 ...

  4. linux上oracle导入mysql_linux下的oracle数据库和表空间的导入导出

    由于oracle是安装在linux上面,因此需要oracle的导入导出都是使用命令进行操作.oracle允许整个数据库导入导出和表空间的导入导出. 数据库导入导出 以下操作是在操作系统控制台命令中执行 ...

  5. linux上oracle导入mysql_Linux 下 oracle 导入数据库—数据泵方式导入dmp文件

    dmp导出数据源的oracle版本是12c,我本地oracle版本是11g,这在导入数据过程中导致出现错误 一.用system 用户登录oracle,我忘记了system密码,解决办法: [oracl ...

  6. aws 数据库迁移_AWS Loft的数据库周

    aws 数据库迁移 这是我的笔记: https://databaseweekoctober2019sf.splashthat.com AWS上的数据库:合适工作的合适工具 在许多此类谈话中,我并没有做 ...

  7. 使用ADAM将Oracle数据库迁移至阿里云数据库PolarDB

    背景 什么是PolarDB? 以下内容引用自阿里云官方网站: 阿里云自研的云原生关系型数据库PolarDB有三个独立的引擎,分别100%兼容MySQL.100%兼容PostgreSQL.高度兼容Ora ...

  8. oracle数据库迁移部分表,oracle 数据库之间 表数据的 迁移

    主要是 需要将 正式环境的数据库 和测试环境的数据库的 表 数据同步一下,方便测试. 这样的效果, 可以使用 数据库的 备份 , exp imp 等其他的方式, 可是这样的方式, 需要 在 电脑里面 ...

  9. mysql数据库迁移到瀚高数据库,包含数据迁移、sql语法、服务启动、部署、tomcat问题整理

    文章目录 1.数据库迁移 2.数据库设置主键自增 2.1 数据库字段问题 2.2 存在即更新 2.3 清空数据表 2.4 瀚高数据库查询过程中显示转换 2.5 mybatis插入一条数据返回自增的主键 ...

最新文章

  1. 【C++】浅析析构函数(基类中)为什么要写成虚基类?
  2. Unix编程艺术——Unix哲学
  3. java jvm崩溃_IObjects java 代码导致jvm崩溃了
  4. 收集一些 有效的算法
  5. “睡服”面试官系列第十四篇之数组的扩展(建议收藏学习)
  6. centos 账号安全设置
  7. 牛客15666 又见斐波那契(矩阵快速幂)
  8. CS224N刷题——Assignment3.1_A window into NER
  9. 业务重点-实现一个简单的手机号码验证
  10. jekyll 完整安装教程
  11. (Codeforces800Div2)B. Paranoid String(思维/动态规划)
  12. 多年未用photoshop后,我忘记了p图(将黑底图片修改为白底)
  13. vue.js 拖拽排序_快速轻巧的Vue.js拖放可排序库
  14. centos 安装frp 实现内网穿透进行电信物联网NBIOT开发
  15. :-1: error: [Makefile.Debug:72: debug/QtIcon_resource_res.o] Error 1
  16. linux lp命令,lp命令_Linux lp 命令用法详解:打印文件或修改排队的打印任务
  17. 我爷爷来了都能看懂的数据库主键,候选键,外键,非空和check的几种约束方式及使用方法
  18. VMware vSphere 5 HA详解 (part1)
  19. 错误 不存在从 “std::string“ 到 “LPCSTR“ 的适当转换函数
  20. 基于jquery的锚点滚动插件(百度百科效果) anchorScroll.js

热门文章

  1. 2023年中国搜索引擎行业研究报告
  2. 3CX Desktop App 遭受软件供应链攻击(CVE-2023-29059)
  3. 小程序前端判断的写法
  4. html中aside怎么调整位置,HTML5中的aside标签怎么用?HTML5aside侧边栏的具体使用方法你知道吗?...
  5. 达芬奇五年沉浮——嵌入式处理器架构之争决战2012
  6. 如何给计算机设置桌面背景步骤6,怎么设置电脑桌面背景呢
  7. golang 消息忽略 signal.Ignore(syscall.SIGHUP) 示例
  8. PowerShell中的正则表达式
  9. C++ 负数转二进制形式
  10. 2022年百款虎年春节手机桌面壁纸