IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux 上 postgresql 数据库迁移到 KingbaseES V8R6数据库 -> 正文阅读

[系统运维]Linux 上 postgresql 数据库迁移到 KingbaseES V8R6数据库

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

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 23:03:00  更:2022-03-10 23:03:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:41:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码