跳转到主要内容

迁移

3 篇
  • 兼容Oracle的开源 PostgreSQL?

    冯若航 发布于 PGSQL 1399 字 3 分钟

    冯若航PostgreSQLOracle迁移

    兼容Oracle的开源 PostgreSQL?

    今天在 PostgreSQL 技术峰会上有人问,什么数据库可以替代 Oracle?当然有很多数据库都号称自己可以 “替代” Oracle,商业产品这里就不说了,但开源的目前我了解到的只有 IvorySQL。 IvorySQL 是一个开源的“Oracle 兼容” PostgreSQL 内核,由瀚高出品,使用 Apache 2.0 许可证。目前 Pigsty 支持在自建本地 RDS 时使用 IvorySQL 内核替代原生的 PostgreSQL 内核,提供和原版一样的监控,备份,高可用,IaC 等能 …

    今天在 PostgreSQL 技术峰会上有人问,什么数据库可以替代 Oracle?当然有很多数据库都号称自己可以 “替代” Oracle,商业产品这里就不说了,但开源的目前我了解到的只有 IvorySQL。 IvorySQL 是一个开源的“Oracle 兼容” PostgreSQL 内核,由瀚高出品,使用 Apache 2.0 许可证。目前 Pigsty 支持在自建本地 RDS 时使用 IvorySQL 内核替代原生的 PostgreSQL 内核,提供和原版一样的监控,备份,高可用,IaC 等能 …

  • 在线修改PG字段类型

    冯若航 发布于 PGSQL 1453 字 3 分钟

    冯若航PostgreSQLPG管理迁移

    在线修改PG字段类型

    场景 在数据库的生命周期中,有一类需求是很常见的,修改字段类型。例如: 使用 INT 作为主键,结果发现业务红红火火,INT32的21亿序号不够用了,想要升级为 BIGINT 使用 BIGINT 存身份证号,结果发现里面有个 X 需要改为 TEXT 类型。 使用 FLOAT 存放货币,发现精度丢失,想要修改为Decimal 使用 TEXT 存储JSON字段,想用到PostgreSQL的JSON特性,修改为JSONB类型。 那么,如何应对这种需求呢? 常规操作 通常来说,ALTER TABLE 可 …

    场景 在数据库的生命周期中,有一类需求是很常见的,修改字段类型。例如: 使用 INT 作为主键,结果发现业务红红火火,INT32的21亿序号不够用了,想要升级为 BIGINT 使用 BIGINT 存身份证号,结果发现里面有个 X 需要改为 TEXT 类型。 使用 FLOAT 存放货币,发现精度丢失,想要修改为Decimal 使用 TEXT 存储JSON字段,想用到PostgreSQL的JSON特性,修改为JSONB类型。 那么,如何应对这种需求呢? 常规操作 通常来说,ALTER TABLE 可 …

  • 空中换引擎:PostgreSQL不停机迁移数据

    冯若航 发布于 PGSQL 1211 字 3 分钟

    冯若航PostgreSQLPG管理迁移

    空中换引擎:PostgreSQL不停机迁移数据

    通常涉及到数据迁移,常规操作都是停服务更新。不停机迁移数据是相对比较高级的操作。 不停机数据迁移在本质上,可以视作由三个操作组成: 复制:将目标表从源库 逻辑复制 到宿库。 改读:将应用 读取路径 由源库迁移到宿库上。 改写:将应用 写入路径 由源库迁移到宿库上。 但在实际执行中,这三个步骤可能会有不一样的表现形式。 逻辑复制 使用逻辑复制是比较稳妥的做法,也有几种不同的做法:应用层逻辑复制,数据库自带的逻辑复制(PostgreSQL 10 之后的逻辑订阅),使用第三方逻辑复制插件(例如 …

    通常涉及到数据迁移,常规操作都是停服务更新。不停机迁移数据是相对比较高级的操作。 不停机数据迁移在本质上,可以视作由三个操作组成: 复制:将目标表从源库 逻辑复制 到宿库。 改读:将应用 读取路径 由源库迁移到宿库上。 改写:将应用 写入路径 由源库迁移到宿库上。 但在实际执行中,这三个步骤可能会有不一样的表现形式。 逻辑复制 使用逻辑复制是比较稳妥的做法,也有几种不同的做法:应用层逻辑复制,数据库自带的逻辑复制(PostgreSQL 10 之后的逻辑订阅),使用第三方逻辑复制插件(例如 …