# 前言这篇文章旨在提供 RDS for PostgreSQL 的一些开发和运维建议,以助您提升数据库使用的标准化和稳定性。# 性能与稳定性* 慎用子事务,避免事务中使用过多的子事务。* 游标使用后及时关闭。* 对于在线业务,建议使用 CREATE INDEX CONCURRENTLY 方法创建索引,以避免阻塞其他会话在目标索引表上的 DML 操作。* 对于重建索引操作,在 PostgreSQL 12 及以上大版本,推荐使用 REINDEX CONCURRENTLY。PostgreSQL 11 及下大版本,...
# 问题背景线上 RDS for PostgreSQL 实例发现短时间内,从指标中查看到有如下信息:* 可用存储空间迅速降低* 此时实例并没有大量的 DML,而 WAL 日志却增长异常* CPU,内存,磁盘 IO / 带宽等指标均有突增# 问题分析查看 PostgreSQL 错误日志,查看到有如下信息:```Plain Textautomatic aggressive vacuum to prevent wraparound of table```可以看到这段时间内发生了 aggressive vacuum## 什么是 vacuum在 PostgreSQL ...
# 前言对于数据库来说,用户以及权限管理非常重要,让不用的用户具有不同的权限集合,将会显著的避免误操作。本章内容将会介绍 PostgreSQL 中的用户和权限管理机制。# 用户和角色通常来说,角色是一系列权限的集... 可以使用如下语句:```sqlrudonx=# grant select on all tables in schema public to rudonx1;GRANT```4.查看特定用户所具有的表级权限```rudonx=# select table_catalog,table_schema,table_name , privil...
# 前言对于数据库来说,用户以及权限管理非常重要,让不用的用户具有不同的权限集合,将会显著的避免误操作。本章内容将会介绍 PostgreSQL 中的用户和权限管理机制。# 用户和角色通常来说,角色是一系列权限的集合,... 可以使用如下语句:```sqlrudonx=# grant select on all tables in schema public to rudonx1;GRANT```4.查看特定用户所具有的表级权限````undefinedrudonx=# select table_catalog,table_schema,table_nam...
函数或存储过程等,不会被同步至目标库。 若暂时不需要启动同步任务,您可以在完成同步对象配置后,单击页面右下角的保存。保存后会跳转回同步任务列表页,此时任务状态为待启动,您可以在合适的时候再配置同步任务。配... 请参见预检查项(PostgreSQL)。 由于全量数据初始化会并发执行 INSERT 操作,导致目标库的集合产生碎片,因此全量初始化完成后目标库的集合存储空间会比源库的集合存储空间大。 为保证数据同步的性能和同步任务的稳...
# 前言这篇文章旨在提供 RDS for PostgreSQL 的一些开发和运维建议,以助您提升数据库使用的标准化和稳定性。# 性能与稳定性* 慎用子事务,避免事务中使用过多的子事务。* 游标使用后及时关闭。* 对于在线业务,建议使用 CREATE INDEX CONCURRENTLY 方法创建索引,以避免阻塞其他会话在目标索引表上的 DML 操作。* 对于重建索引操作,在 PostgreSQL 12 及以上大版本,推荐使用 REINDEX CONCURRENTLY。PostgreSQL 11 及下大版本,...
本文介绍如何在数据库传输服务 DTS 控制台创建公网自建 PostgreSQL 同步至火山引擎专有网络 PostgreSQL 任务。 前提条件已注册火山引擎账号并完成实名认证。详细操作,请参见如何进行账号注册和实名认证。 按需设置... 函数或存储过程等,不会被同步至目标库。 由于全量初始化会并发执行 INSERT 操作,导致目标库的集合产生碎片,因此全量初始化完成后目标库的集合存储空间会比源库的集合存储空间大。 为保证数据同步的性能和同步任务...
函数或存储过程等,不会被同步至目标库。 若暂时不需要启动同步任务,您可以在完成同步对象配置后,单击页面右下角的保存。保存后会跳转回同步任务列表页,此时任务状态为待启动,您可以在合适的时候再配置同步任务。配... 请参见预检查项(PostgreSQL)。 由于全量数据初始化会并发执行 INSERT 操作,导致目标库的集合产生碎片,因此全量初始化完成后目标库的集合存储空间会比源库的集合存储空间大。 为保证数据同步的性能和同步任务的稳...
函数或存储过程等,不会被同步至目标库。 若暂时不需要启动同步任务,您可以在完成同步对象配置后,单击页面右下角的保存。保存后会跳转回同步任务列表页,此时任务状态为待启动,您可以在合适的时候再配置同步任务。配置方法,请参见配置同步任务。 在预检查时,如果选择忽略告警并启动同步任务,可能会导致数据不一致,带来业务风险。关于预检查的具体说明,请参见预检查项(PostgreSQL)。 由于全量数据初始化会并发执行 INSERT 操作,导...
由于全量初始化会并发执行 INSERT 操作,导致目标库的集合产生碎片,因此全量初始化完成后目标库的集合存储空间会比源库的集合存储空间大。 为保证数据同步的性能和同步任务的稳定性,源库的 TRIGGER、RULE、FOREIGN KEY、SEQUENCE 等会在增量同步结束后才进行同步。 在预检查时,如果选择忽略告警并启动同步任务,可能会导致数据不一致,带来业务风险。关于预检查的具体说明,请参见预检查项(PostgreSQL)。 在数据同步的过程中,若...
本文介绍如何在数据库传输服务 DTS 控制台创建火山引擎专有网络 PostgreSQL 同步至公网自建 PostgreSQL 任务。 前提条件已注册火山引擎账号并完成实名认证。详细操作,请参见如何进行账号注册和实名认证。 按需设置... 函数或存储过程等,不会被同步至目标库。 由于全量初始化会并发执行 INSERT 操作,导致目标库的集合产生碎片,因此全量初始化完成后目标库的集合存储空间会比源库的集合存储空间大。 为保证数据同步的性能和同步任务...
存储过程等,不会被同步至目标库。 在预检查时,如果选择忽略告警并启动同步任务,可能会导致数据不一致,带来业务风险。关于预检查的具体说明,请参见预检查项(PostgreSQL)。 由于全量初始化会并发执行 INSERT 操作,... 如果目标库 schema 权限已存在,则同步账号需要是目标 schema owner。 支持的 SQL 操作操作类型 SQL操作语句 DML INSERT、UPDATE、DELETE DDL CREATE TABLE、ALTER TABLE、DROP TABLE、TRUNCATE TABLE CREAT IND...
函数或存储过程等,不会被迁移至目标库。 若暂时不需要启动迁移任务,您可以在完成迁移对象配置后,单击页面右下角的保存。保存后会跳转回迁移任务列表页,此时任务状态为待启动,您可以在合适的时候再配置迁移任务。配置方法,请参见配置迁移任务。 在预检查时,如果选择忽略告警并启动迁移任务,可能会导致数据不一致,带来业务风险。关于预检查的具体说明,请参见预检查项(PostgreSQL)。 由于全量数据迁移会并发执行 INSERT 操作,导致...