PostgreSQL 9.1中的SET TABLESPACE表锁定?

问题描述:

当您在PostgreSQL 9.1中将表(或者某个分区)从一个表空间移动到另一个表空间时,获取了哪种类型的表锁?PostgreSQL 9.1中的SET TABLESPACE表锁定?

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

这将对表(和它的Toast表和Toast索引,如果它们存在)采取ACCESS EXCLUSIVE锁。

如果该表是否从另一个表中继承,则无关紧要。

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