Postgresql适配国产化人大金仓(kingbase) 您所在的位置:网站首页 navicat连接kingbase Postgresql适配国产化人大金仓(kingbase)

Postgresql适配国产化人大金仓(kingbase)

2023-12-23 12:17| 来源: 网络整理| 查看: 265

背景

为推进国产技术的发展,公司部分项目实行软件国产化

目标

由原来的centos改为UOS,服务器及软件全部替换

适配计划

1、国产化环境搭建 2、原数据库字段长度扩容 3、数据库数据迁移 4、文件迁移

适配步骤 1、国产化环境搭建(略) 补充下人大金仓数据库安装,希望对大家有所帮助 1、创建目录 #数据库安装目录 /opt/Kingbase/ES/V8 #数据存储目录 /data/kingbase-54321 2、安装数据库(记得准备license.dat) 1、解压数据库安装文件 2、控制台安装:sh setup.sh -i console 3、接受许可、指定license.dat文件(/opt/license.dat)、指定安装目录、指定存储目录,完成数据库安装 4、启动数据库实例:sys_ctl -D /data/kingbase-54321 #停止:sys_ctl stop -D /data/kingbase-54321 5、初始化数据库:initdb -E UTF-8 -USYSTEM --case-insensitive -D /data/kingbase-54321 --case-insensitive:取消大小写敏感,如果不需要,步骤5可忽略 6、修改数据文件下kingbase.config #解决where a_col = '' 的问题 ora_input_emptystr_isnull = false #port = 54322 需要修改端口的改 7、再次启动: sys_ctl stop -D /data/kingbase-54321 sys_ctl -D /data/kingbase-54321 -l logfile start 8、创建数据库 #临时使用 createdb -p 54321 -E utf-8 -O SYSTEM -U SYSTEM db_test ksql -p54321 -USYSTEM -d db_test CREATE DATABASE db_aaa ENCODING ='utf-8' LC_COLLATE="zh_CN.utf-8" LC_CTYPE="zh_CN.utf-8" TEMPLATE TEMPLATE0; 9、创建库下的模式 ksql -p54321 -USYSTEM -d db_aaa CREATE SCHEMA db_schema1; CREATE SCHEMA db_schema2; CREATE SCHEMA db_schema3; 3、完成安装 如果一台服务器安装多实例数据库,这种方式也支持。 2、原数据库字段长度扩容(略) 长度扩容原因:原数据库中文占一个字符,kingbase占三个字符 提前扩容避免了哪些问题? 1、数据无法导入到目标库 2、索引文件有效 3、避免其他问题出现 3、数据库数据备份

首先需要了解库和模式的关系 一个数据库下有多个模式

在目标库创建数据库,记得添加字符集和大小写敏感 在目标库下创建对应的模式 数据备份 1、导出表结构 ./pg_dump -h172.16.xxx.xxx -p5432 -Uuser -ddb_test -ndb_schema--section=pre-data > /opt/bak/schema_table.dmp 2、导出数据 ./pg_dump -h172.16.xxx.xxx -p5432 -Uuser -ddb_test -ndb_schema --section=data > /opt/bak/schema_data.dmp 3、导出索引 ./pg_dump -h172.16.xxx.xxx -p5432 -Uuser -ddb_test -ndb_schema --section=post-data > /opt/bak/schema_index.dmp 4、修改脚本 1、编辑*_table.dmp和*_inedx.dmp文件,修改其中插件名称、系统模式、系统表中pg_为sys_ 2、修改表中的数据库模式和所有者信息 ,(修改表文件和索引文件) 例如: 修改所有者:pg:Owner: user 改为 ksql :Owner: user(用户) 修改所有者:pg:OWNER TO user 改为 ksql :OWNER TO user(用户) 4、恢复(到人大金仓)

前提:需要创建好库和模式

1、恢复表结构 ksql -h172.16.xx.xx -p54321 -Uuser -ddb_test < /date/move/schema_table.dmp 2、恢复数据 ksql -h172.16.xx.xx -p54321 -Uuser -ddb_test < /date/move/schema_data.dmp 3、恢复索引 ksql -h172.16.xx.xx -p54321 -Uuser -ddb_test < /date/move/schema_index.dmp 5、应用服务配置 dataSource.driverClass=com.kingbase8.Driver dataSource.jdbcUrl=jdbc:kingbase8://172.16.xxx.xxx:54322/db_xxx?Charset=utf8 dataSource.user=SYSTEM dataSource.password=xxxx #方言 hibernate.dialect=org.hibernate.dialect.Kingbase8Dialect 4、文件迁移(略) 总结

开发环境迁移完成后需要对整个系统流程验证,这个过程涉及到数据库连接,方言适配(一般需要重写源码),函数替换,字段长度验证等。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有