使用索引转储Postgres 9.3数据

时间:2016-02-10 12:47:35

标签: postgresql indexing pg-dump

使用时

pg_dump --section post-data 

我得到的转储包含索引的 definitions ,但不包含索引数据。由于我正在处理的数据库非常庞大和复杂,因此重新创建索引需要花费大量时间。

有没有办法将索引数据放入我的转储中,以便我可以恢复实际工作的数据库?

1 个答案:

答案 0 :(得分:2)

无法在逻辑转储(pg_dump)中包含索引数据。

无法从pg_dump操作的SQL级别提取索引数据,也无法将其写回。索引以一种不会在转储中保留并重新加载的方式引用表的物理结构(按页面和偏移量的元组ID)。

如果要复制整个数据库,索引等,可以使用pg_basebackup使用低级磁盘副本。与pg_dump不同,您无法将其恢复到不同的PostgreSQL版本,您不能只转储一个数据库等;它全有或全无。