# 前言PostgreSQL 在 9.0 之前并未支持流式复制,备库总是落后主库一个 WAL log,在 9.0 之后 PostgreSQL 提供了流式复制,备库不断从主库同步相应的数据,并应用每个 WAL record。在 PostgreSQL 9.4 开始,PostgreSQL 提供了逻辑流复制功能,至此,PostgreSQL 拥有了更加完备的数据同步方式,解决了物理流复制无法覆盖的一些场景。本章内容将介绍物理复制与逻辑复制的一些差别。## 参数配置差异我们知道在 PostgreSQL 中如果想要实...
本章内容主要聚焦于逻辑复制的使用场景,当了解了适用场景后,会使得业务架构更加灵活。## 场景一:数据汇总与拆分当多个独立的业务库需要将数据汇总到数据仓库,以便于进行后续分析的场景,逻辑复制是非常适合的。一是不需要额外的组件来支撑,二是可以做到实时同步。对于数据拆分的场景,由于逻辑复制的粒度可以到表级别,可以将一个数据库按照表的粒度拆分到不同的数据库实例中。## 场景二:数据库迁移PostgreSQL 提供了原生的迁移...
# 前言在配置好逻辑复制之后,我们需要了解逻辑复制相关信息,如复制延迟,replication slot 相关位点信息。PostgreSQL 为我们提供了丰富的表/视图,方便我们进行监控。## 检查逻辑复制的基本配置信息在订阅端查看基本配置信息:从下述信息来看,subname 为订阅者名称,subconninfo 为发布者相关的连接信息。````undefinedrudonx=# select * from pg_subscription;-[ RECORD 1 ]---+--------------------------------------------...
# 前言在逻辑复制过程中,如果在复制过程中出现任何冲突,如主键冲突,逻辑复制都会停止。这时候需要我们手动去解决。# 问题分析修复冲入的方法共有两种:1. 在订阅端手动找到冲突的数据并删除,然后重新让订阅继续... [https://www.postgresql.org/docs/current/logical-replication-conflicts.html](https://www.postgresql.org/docs/current/logical-replication-conflicts.html)**如果您有其他问题,欢迎您联系火山引擎**[技术...
本文介绍使用 PostgreSQL 实例在使用上的限制。 约束项 使用约束 实例参数 可以使用控制台或 API 修改实例参数,出于安全和稳定性考虑,当前仅支持修改部分参数。 账号权限 不提供 SuperUser 权限。 数据库备份 仅支持通过控制台或 API 进行物理备份。 数据库恢复 仅支持通过控制台或 API 进行物理恢复。 数据库复制 PostgreSQL 提供主备复制架构,其中的备节点不对用户开放,用户应用不能直接访问。 实例重启 必须通过控制台或 API ...
这是 PostgreSQL 的预期行为,当从 template1 复制数据的时候,如果存在连接的话,就会失败报错> The principal limitation is that no other sessions can be connected to the source database while it is being copied. CREATE DATABASE will fail if any other connection exists when it starts;# 解决方案分别创建两个连接会话,分别执行不同的命令复现报错问题会话1:连接到 template1 模板数据库中```sqlpostgres=# \...
数据库传输服务 DTS 创建或配置 PostgreSQL 的迁移或同步任务时,会先对数据库进行各项检查。本文介绍检查项的详细信息。 检查项 数据库类型 检查范围 级别 检查内容 备注 数据库连通性检查 源库 目标库 所有迁移 所有同步 数据订阅 Error 检查数据传输服务器是否能连通源库和目标库。 无 库表唯一性约束检查 源库 所有迁移 所有同步 Warning 检查源库中待迁移或同步表是否已设置主键或唯一键来保证唯一性。 无 复制槽...
# **问题现象**数据量在没有发生变化的情况下,发现存储空间不断增长,我们该如何解决此类问题。# **根因描述**Replication Slot 是 PostgreSQL 数据库中的一种机制,replication Slot 用于提高数据复制的效率和可靠性,避免 WAL 日志丢失或重复消费。在常见的场景中,如果 PostgreSQL 中有处于非 active 的 slot,会导致WAL日志不断堆积,占用大量存储空间,甚至可能写满磁盘导致业务受损。如果有其他的下游消费组件,未能及时提交 ...
PostgreSQL 也采用了日志先行的方法,即在持久化数据文件前,保证之前的事务日志已经写到磁盘,以此来保证事务的持久性。下列情况可能会导致事务日志磁盘使用量增加:1. 高数据库负荷(数据库有频繁的写入操作)2. 只读副本为存储已满状态(在主实例上保留事务日志)3. 复制槽这是需要检查是否由于高负载导致 WAL 日志占用大量磁盘空间,同时需要检查只读副本是否处于正常工作状态,排除是否存储空间已满,复制延迟高等影响因素。##...
PostgreSQL 也采用了日志先行的方法,即在持久化数据文件前,保证之前的事务日志已经写到磁盘,以此来保证事务的持久性。下列情况可能会导致事务日志磁盘使用量增加:1. 高数据库负荷(数据库有频繁的写入操作)2. 只读副本为存储已满状态(在主实例上保留事务日志)3. 复制槽这是需要检查是否由于高负载导致 WAL 日志占用大量磁盘空间,同时需要检查只读副本是否处于正常工作状态,排除是否存储空间已满,复制延迟高等影响因素。##...
本文介绍当迁移或同步的目标库类型为 PostgreSQL(如火山引擎版 PostgreSQL 或自建 PostgreSQL)时,支持的数据库以及使用限制详情。 支持的数据库 源库 目标库 支持版本 迁移类型 火山引擎版 PostgreSQL ... 以便于创建逻辑复制槽。 目标库账号需要具有创建 schema 权限,如果目标库 schema 已存在,则迁移账号需要具备目标 schema 的 owner 权限。 源库的操作限制如下: 在库表结构迁移和全量迁移阶段,请勿执行库或表结构...
为了实现读取能力的弹性扩展,分担数据库压力,云数据库 PostgreSQL 版支持创建只读节点。您可以在创建实例时创建一个或多个只读节点,利用只读节点满足大量的数据库读取需求,增加应用的吞吐量。 功能特点规格:可以与... 白名单:只读节点创建时会自动复制主节点的白名单信息。 数据复制:创建只读节点时会从备节点复制数据,备节点的数据与主节点一致。主节点的数据更新也会在主节点完成操作后立即自动同步到所有只读节点。 功能限制...
pgcopydb 基于并行复制原理,进行并行备份导出,数据不落地并行恢复数据,使用 concurrently 模式并行创建索引,极大的提高了备份恢复效率。来自官方文档相关介绍> pgcopydb is a tool that automates running `pg_dump | pg_restore` between two running Postgres servers. To make a copy of a database to another server as quickly as possible, one would like to use the parallel options of `pg_dump` and still be abl...