postgres延迟索引

Mad*_*ddy 3 postgresql

我们有一个将数据存储在postgres数据库中的系统.在某些情况下,数据库的大小已增长到几GB.

升级此系统时,将备份所述数据库中的数据,最后将其还原到数据库中.由于存在大量数据,索引在恢复期间需要很长时间才能完成(约30分钟),从而延迟升级过程.

有没有一种方法可以将数据复制和索引分成两个步骤,首先复制数据以完成升级,然后进行索引,这可以在以后的后台完成?

谢谢!

Cra*_*ger 6

没有内置的方法来做pg_dumppg_restore.但是pg_restore这个-j选择很有帮助.

CREATE INDEX CONCURRENTLY.但pg_restore不使用它.

如果能够恢复除FK约束不依赖的二级索引之外的所有内容,那将是非常好的.然后使用将其恢复为单独的阶段CREATE INDEX CONCURRENTLY.但是目前还没有这样的支持,你必须自己写.

但是,您可以过滤使用的目录pg_restore,因此您可以执行一些hacky脚本来完成所需的工作.