同时分离分区后删除它是否安全?

问题描述 投票:0回答:1

我正在尝试在我的 psql(版本 15)数据库上自动进行分区管理。 我想删除旧分区以释放数据库中的一些空间。为此,我计划使用

CONCURRENTLY
关键字将其分离,这样我就不需要在分区表上使用
ACCESS EXCLUSIVE
锁。

一旦我的分离分区同时运行,删除紧随其后的表是否安全? 或者我应该等待并发分离完成?如果我需要这样做我该怎么办?

谢谢

我尝试手动并按顺序运行这两个命令,它有效,但我担心在工作负载繁重的生产环境中,行为可能会有所不同。

postgresql partitioning database-administration
1个回答
0
投票
该语句完成后,

ALTER TABLE ... DETACH PARTITION CONCURRENTLY
就完成了。由于
DROP TABLE
需要
ACCESS EXCLUSIVE
锁,因此在
ALTER TABLE ... DETACH PARTITION CONCURRENTLY
完成之前尝试删除分区将导致
DROP TABLE
阻塞。

因此,只需等待

ALTER TABLE ... DETACH PARTITION CONCURRENTLY
完成,然后运行
DROP TABLE
即可删除分区。

© www.soinside.com 2019 - 2024. All rights reserved.