# 问题背景线上 RDS for PostgreSQL 实例发现短时间内,从指标中查看到有如下信息:* 可用存储空间迅速降低* 此时实例并没有大量的 DML,而 WAL 日志却增长异常* CPU,内存,磁盘 IO / 带宽等指标均有突增# 问题分析查看 PostgreSQL 错误日志,查看到有如下信息:```Plain Textautomatic aggressive vacuum to prevent wraparound of table```可以看到这段时间内发生了 aggressive vacuum## 什么是 vacuum在 PostgreSQL ...
# 问题描述尝试在RDS PostgreSQL实例上运行查询,发现查询语句长时间未返回结果,语句执行被阻塞。我该如何排查并解决这个问题?# 问题分析通常情况下,查询被阻塞是由于其他未提交的事务所导致的。当锁等待超时后,查询语句将返回失败。大量的阻塞会导致应用与数据库性能下降,应该引起我们的足够重视。# 解决方案### 1. 通过对pg_stat_activity [1]定位被阻塞的事务的当前状态```test=# SELECT * FROM pg_stat_activity...
# 问题描述尝试在RDS PostgreSQL实例上运行查询,发现查询语句长时间未返回结果,语句执行被阻塞。我该如何排查并解决这个问题?# 问题分析通常情况下,查询被阻塞是由于其他未提交的事务所导致的。当锁等待超时后,查询语句将返回失败。大量的阻塞会导致应用与数据库性能下降,应该引起我们的足够重视。# 解决方案### 1. 通过对pg_stat_activity [1]定位被阻塞的事务的当前状态````undefinedtest=# SELECT * FROM pg_stat_acti...
以避免阻塞其他会话在目标索引表上的 DML 操作。* 对于重建索引操作,在 PostgreSQL 12 及以上大版本,推荐使用 REINDEX CONCURRENTLY。PostgreSQL 11 及下大版本,使用 CONCURRENTLY 创建新索引成功后,再删除老索引... 对于 VACUUM FULL 等影响较大的操作,建议设置锁等待,避免长时间运行导致业务阻塞。* 创建表时,合理的规划字段的数据类型,提高查询效率。同时可以避免频繁的结构变更。### 监控告警* RDS for PostgreSQL 提供了...
# 问题描述PostgreSQL 数据库中如果有长时间未提交的 2PC,会对数据库造成哪些影响。```Plain Textrudonx=> begin;BEGINrudonx=> insert into accounts values(1,100);INSERT 0 1rudonx=> prepare transacti... 会发现阻塞。同样的,运行 vacuum full 也会阻塞。```Plain Textrudonx=> alter table accounts ADD COLUMN pc int;rudonx=> select * from pg_stat_activity\gx-[ RECORD 9 ]----+--------------------------...
本文介绍云数据库 PostgreSQL 版的产品功能动态和相关文档。 说明 本文所介绍的部分功能尚处于邀测阶段。如需使用,请提交工单申请。 2024 年 04 月功能名称 功能描述 发布时间 发布地域 相关文档 提供新版白名单管... 2023-08-07 全部 什么是云数据库 PostgreSQL 版 2023 年 06 月功能名称 功能描述 发布时间 发布地域 相关文档 支持 pg_repack 插件 提供在线 Vacuum Full 的能力,解决表和索引等对象所占据的物理磁盘空间膨胀的问...
# 前言在 PostgreSQL 中,有如下场景我们需要进行重建索引1. 索引膨胀。2. 当修改了某些参数,为了使之完全生效,需要进行 reindex 操作,如 fillfactor。3. 索引损坏。4. 在线创建索引失败,索引状态为 "invaild... 这样在 reindex 运行过程中会阻塞 DML 语句,对于生产业务是不可接受的。```sqlrudonx=# REINDEX INDEX old_index;REINDEX```抓取到的锁信息如下:```sqlrudonx=# SELECT relation::regclass,page,pid,mode...
本文介绍云数据库 PostgreSQL 版提供的可修改参数,以及参数的默认值、修改后是否需要重启和取值范围。 序号 参数名 参数默认值 是否需要重启 取值范围 1 auto_explain.log_analyze off 否 [onoff] 2 auto_explain.... vacuum_cost_delay 0 否 [0~50] 11 cron.log_run on 是 [offon] 12 default_transaction_deferrable off 否 [offon] 13 enable_partitionwise_aggregate on 否 [offon] 14 enable_partitionwise_join on 否 [offon...
本文列出了云数据库 PostgreSQL 版的各版本所支持的插件及插件版本。 插件名 PostgreSQL 13 PostgreSQL 12 PostgreSQL 11 描述 address_standardizer 3.2.5 3.1.4 3.1.4 基于 PAGC 标准的地名标准化插件。 address... pg_roaringbitmap 0.5.4 0.5.4 0.5.4 提供高效的位图存储和运算能力。 pg_repack 1.4.8 1.4.8 1.4.8 提供在线 Vacuum Full 的能力,有效解决因为频繁 Update、Delete 等操作引起的表和索引等对象所占据的物理磁盘空...
可能原因一由于全量数据迁移会并发执行 INSERT 操作,导致目标库的集合产生碎片,因此全量迁移完成后目标库的集合存储空间会比源库的集合存储空间大。解决方案您可以在迁移任务完成后,通过 vacuum 命令手动整理表碎片。可能原因二在迁移或同步任务中将备库作为源端。在主库存在频繁的数据变动时,备库上的长连接将被断开,因此备库和数据库传输服务 DTS 的长连接会被断开。对于没有主键的表,在 DTS 和备库重新建立连接后会重新进行全...
本文介绍如何在数据交互台为云数据库 PostgreSQL 版实例执行 SQL 命令。 前提条件已注册火山引擎账号并完成实名认证。关于账号的创建方法和实名认证,请参见如何进行账号注册和实名认证。 已创建实例和账号。详细操... 按需切换数据库和对象类型,例如表、视图、触发器和函数等详细信息。每种类型最多支持显示 1000 个。 数据交互台内不支持 OnlineDDL 操作。数据交互台执行 DDL 操作时,有可能导致 DML、DQL 等操作阻塞,请谨慎使用。...
# 问题描述数据库创建索引可能会锁住创建索引的表,这样阻塞业务在生产中一般是不被允许的,那么 PostgreSQL 如何解决这个问题哪?# 问题分析PostgreSQL 在 CREATE INDEX 命令中新增CONCURRENTLY 选项来实现索引的并发创建# 验证方法1. 创建测试表并插 3000000 条 数据```sqlpostgres=# CREATE TABLE demo(id int);CREATE TABLEpostgres=# INSERT INTO demo SELECT generate_series(1,3000000);INSERT 0 3000000```...
# 问题描述我需要查看那些查询正在RDS for PostgreSQL 上运行,该使用什么SQL语句进行查看?# 问题分析pg_stat_activity [1] 对于排查PostgreSQL 中的连接,负载问题非常有帮助,它向我们展示了数据库中每一个连接的... AutoVacuumMainwait_event_type | Activitycount | 1````# 参考文档[1] [https://www.postgresql.org/docs/11/monitoring-stats.html](https://www.postgresql.org/docs/11/monitoring-stats.htm...