PostgreSQL 集群管理技术全解析
1. 表和索引迁移至不同表空间
在 PostgreSQL 里,若要把表和索引迁移到不同的表空间,可运用 ALTER TABLE
语法。不过,执行此操作的用户得是超级用户或者模式的所有者。执行 ALTER TABLE
命令时,会对表加排他锁,这可能会让应用程序出现停机时间,所以在继续操作之前,要合理规划停机时间。另外,也能借助 pg_repack
等扩展在线迁移表和索引。
- 操作步骤 :
- 迁移表 :
ALTER TABLE percona.foo SET TABLESPACE newtblspc;
2. **迁移索引**:
ALTER INDEX percona.foo_id_idx SET TABLESPACE newtblspc;
- 原理 :
- 迁移表的通用语法为:
ALTER TABLE <schemaname.tablename> SET TA