# 前言PostgreSQL 在 9.0 之前并未支持流式复制,备库总是落后主库一个 WAL log,在 9.0 之后 PostgreSQL 提供了流式复制,备库不断从主库同步相应的数据,并应用每个 WAL record。在 PostgreSQL 9.4 开始,PostgreSQ... 因此主备复制延迟更小。而在逻辑复制中,只有已经提交的事务才会在订阅端进行 apply,我们可能观察到在逻辑复制中延迟相对较大。## 版本差异物理复制不支持跨大版本进行部署,而逻辑复制则没有此限制。# 参考文档...
# 前言这篇文章旨在提供 RDS for PostgreSQL 的一些开发和运维建议,以助您提升数据库使用的标准化和稳定性。# 性能与稳定性* 慎用子事务,避免事务中使用过多的子事务。* 游标使用后及时关闭。* 对于在线业务... PostgreSQL 11 及下大版本,使用 CONCURRENTLY 创建新索引成功后,再删除老索引* 如果可以,使用 TRUNCATE 代替 DELETE,一方面可以提高性能,另一方面可以减少海量 DELETE 时 WAL 日志暴增带来的磁盘压力。* Postgre...
# 问题描述我的 RDS for PostgreSQL 占用的存储空间不符合预期,我该如何排查此类问题?# 问题分析RDS for PostgreSQL 消耗的存储空间主要包含如下方面:1. 数据文件2. WAL 日志3. 未消耗的 replication slot... 没有目标端进行消费,占用的空间不会被回收。通常来说,在我们迁移上云时,使用 DTS 迁移工具进行逻辑复制会使用到 replication slot。我们可以执行与以下查询以确认复制槽存在及其大小:```Plain Textpostgres=# s...
# 问题描述我的 RDS for PostgreSQL 占用的存储空间不符合预期,我该如何排查此类问题?# 问题分析RDS for PostgreSQL 消耗的存储空间主要包含如下方面:1. 数据文件2. WAL 日志3. 未消耗的 replication slot... 没有目标端进行消费,占用的空间不会被回收。通常来说,在我们迁移上云时,使用 DTS 迁移工具进行逻辑复制会使用到 replication slot。我们可以执行与以下查询以确认复制槽存在及其大小:````undefinedpostgres=# s...
# 前言PostgreSQL 在 9.1 中推出了一种特殊的表:unlogged table,使用 unlogged table 最大的特点是涉及到表的更新,删除等操作不会记录 WAL 日志,这样可以大大的提高性能。不过需要特别注意的是,在数据库异常宕机... 备库中只有表结构而没有数据。3. 当数据库 crash 后,如运行 kill -9 postgresql_pid,数据库重启时自动清空unlogged table的数据。4. 如果正常关闭数据库,如(pg_ctl stop -D /home/pgsql11.5/data/ -m fast),再启...
# 前言PostgreSQL 在 9.1 中推出了一种特殊的表:unlogged table,使用 unlogged table 最大的特点是涉及到表的更新,删除等操作不会记录 WAL 日志,这样可以大大的提高性能。不过需要特别注意的是,在数据库异常宕机时... 备库中只有表结构而没有数据。3. 当数据库 crash 后,如运行 kill -9 postgresql_pid,数据库重启时自动清空unlogged table的数据。4. 如果正常关闭数据库,如(pg_ctl stop -D /home/pgsql11.5/data/ -m fast),再启...
# 前言在逻辑复制过程中,如果在复制过程中出现任何冲突,如主键冲突,逻辑复制都会停止。这时候需要我们手动去解决。# 问题分析修复冲入的方法共有两种:1. 在订阅端手动找到冲突的数据并删除,然后重新让订阅继续... 在订阅端的错误日志中,会有如下报错:````undefinedERROR,23505,duplicate key value violates unique constraint "pgbench_tellers_pkey",Key (tid)=(12) already exists.,,,,,,,_bt_check_unique, nbtinsert.c:...
本文介绍当迁移的目标库类型为 PostgreSQL(如火山引擎版 PostgreSQL 或自建 PostgreSQL)时,支持的数据库以及使用限制详情。 支持的数据库 源库 目标库 支持版本 迁移类型 火山引擎版 PostgreSQL 火山引... WAL 日志至少保留 7 天以上。或者等到全量迁移完成后,再清理 DTS 任务运行后源库产生的数据日志。 用于数据迁移的账号需具备以下权限: 源库账号需要具有 superuser 权限,以便于创建逻辑复制槽。 目标库账号需要...
PostgreSQL 实例存储空间的上限和下限分别是? 网络连接为什么无法连接数据库? 如何处理云数据库 PostgreSQL 版控制台的错误提示? 账号权限高权限账号和普通账号有什么区别? 高权限账号能否修改指定权限? 数据库是否可以绑定多个账号? 只读节点什么是只读节点? 如何选择只读节点的规格? 只读节点的网络类型可以与主节点不一样吗? 只读节点的账号和主节点一样吗? 一个实例下最多可以创建多少个只读节点? 只读节点为何没有备份功能...
如果自建 PostgreSQL 进行重启或者主备切换,将会导致同步任务失败。在同步时如果源库执行了重启操作,同步任务会暂时中断并自动尝试修复。如果任务长时间没恢复,请提交工单联系技术支持。 为实时保障数据的一致性,... 并设置参数 wal_level 为 logical。 WAL 日志至少要保留 24 小时,建议保留 7 天以上的日志,否则 DTS 可能因无法获取日志从而导致任务失败,某些情况下也可能导致数据丢失。 其他 单个同步任务只能同步一个数据...
如果自建 PostgreSQL 进行重启或者主备切换,将会导致同步任务失败。在同步时如果源库执行了重启操作,同步任务会暂时中断并自动尝试修复。如果任务长时间没恢复,请提交工单联系技术支持。 为实时保障数据的一致性,... 并设置参数 wal_level 为 logical。 WAL 日志至少要保留 24 小时,建议保留 7 天以上的日志,否则 DTS 可能因无法获取日志从而导致任务失败,某些情况下也可能导致数据丢失。 其他 单个同步任务只能同步一个数据...
PostgreSQL是一个功能非常强大、开源的对象关系型数据库管理系统,本文介绍如何在Linux实例上搭建并使用PostgreSQL。 PostgreSQL可靠性高,支持NoSQL数据类型(JSON/XML/hstore)、GIS地理信息处理,适用于位置应用系统... 初始化PostgreSQL。/usr/pgsql-11/bin/postgresql-11-setup initdb 执行以下命令,启动PostgreSQL服务。systemctl start postgresql-11 执行以下命令,设置PostgreSQL服务开机自启动。systemctl enable postgresql...
# 前言PostgreSQL 中的逻辑流复制与消息队列中的发布者/订阅者模型非常相似,在发布者端将 WAL 日志流解析成一定格式的数据流,订阅者节点收到后进行应用,以此来达到数据同步的目的。本章内容将介绍如何使用逻辑流... postgres=# create database pubdb;CREATE DATABASEpostgres=# \c pubdbYou are now connected to database "pubdb" as user "postgres".pubdb=# create table pub_t(id int,name varchar(10));CREATE TABL...