分区应该在删除之前分离吗?
Should a partition be detached before dropping?
我正在使用 PostgreSQL 12,其中有一个分区 table。此 table 有需要删除的旧分区。我看过旧分区首先分离然后才删除的代码:
ALTER TABLE partitioned_table DETACH PARTITION partitioned_table_1;
DROP TABLE partitioned_table_1;
是否有任何理由在删除之前分离分区?只删除一个分区而不分离对数据库的其他查询的影响吗?
来自手册。
DROP TABLE partitioned_table_1;
表示掉落table。 ACCESS EXCLUSIVE 锁定父 table。
ALTER TABLE partitioned_table DETACH PARTITION partitioned_table_1;
意味着 partitioned_table_1 将仍然存在。 ACCESS EXCLUSIVE 锁定父 table
The detached partition continues to exist as a standalone table, but
no longer has any ties to the table from which it was detached.
在 postgresql 14 中,DETACH PARTITION partitioned_table_1 CONCURRENTLY
共享更新独占 锁定父 table。
更多信息:https://www.postgresql.org/docs/12/sql-altertable.html
https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-DETACH-PARTITION https://www.postgresql.org/docs/current/ddl-partitioning.html
我正在使用 PostgreSQL 12,其中有一个分区 table。此 table 有需要删除的旧分区。我看过旧分区首先分离然后才删除的代码:
ALTER TABLE partitioned_table DETACH PARTITION partitioned_table_1;
DROP TABLE partitioned_table_1;
是否有任何理由在删除之前分离分区?只删除一个分区而不分离对数据库的其他查询的影响吗?
来自手册。
DROP TABLE partitioned_table_1;
表示掉落table。 ACCESS EXCLUSIVE 锁定父 table。ALTER TABLE partitioned_table DETACH PARTITION partitioned_table_1;
意味着 partitioned_table_1 将仍然存在。 ACCESS EXCLUSIVE 锁定父 table
The detached partition continues to exist as a standalone table, but no longer has any ties to the table from which it was detached.
在 postgresql 14 中,DETACH PARTITION partitioned_table_1 CONCURRENTLY
共享更新独占 锁定父 table。
更多信息:https://www.postgresql.org/docs/12/sql-altertable.html
https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-DETACH-PARTITION https://www.postgresql.org/docs/current/ddl-partitioning.html