表锁定在PostgreSQL 9.1中的SET TABLESPACE上?

时间:2016-07-27 13:40:36

标签: postgresql postgresql-9.1

在PostgreSQL 9.1中将表(或更确切地说是分区)从一个表空间移动到另一个表空间时会获取什么类型的表锁?

我应该首先执行NO INHERIT以将其从主表中分离出来吗?

1 个答案:

答案 0 :(得分:2)

这将对表(以及它的toast表和toast索引,如果它们存在)进行ACCESS EXCLUSIVE锁定。

表是否继承自另一个表并不重要。

如果表格中有任何索引,并且您想要移动这些索引,那么您必须使用ALTER INDEX ... SET TABLESPACE ...明确移动它们。