使用时
pg_dump --section post-data
我得到的转储包含索引的 definitions ,但不包含索引数据。由于我正在处理的数据库非常庞大和复杂,因此重新创建索引需要花费大量时间。
有没有办法将索引数据放入我的转储中,以便我可以恢复实际工作的数据库?
答案 0 :(得分:2)
无法在逻辑转储(pg_dump
)中包含索引数据。
无法从pg_dump
操作的SQL级别提取索引数据,也无法将其写回。索引以一种不会在转储中保留并重新加载的方式引用表的物理结构(按页面和偏移量的元组ID)。
如果要复制整个数据库,索引等,可以使用pg_basebackup
使用低级磁盘副本。与pg_dump
不同,您无法将其恢复到不同的PostgreSQL版本,您不能只转储一个数据库等;它全有或全无。