代码之家  ›  专栏  ›  技术社区  ›  Stefan Roth

用索引转储Postgres 9.3数据

  •  2
  • Stefan Roth  · 技术社区  · 9 年前

    使用时

    pg_dump --section post-data 
    

    我得到一个包含 定义 而不是索引数据。由于我正在处理的数据库非常大和复杂,重新创建索引需要花费大量时间。

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

    1 回复  |  直到 9 年前
        1
  •  2
  •   Craig Ringer    9 年前

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

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

    您可以使用 pg_basebackup 如果您想复制整个数据库、索引等。与 pg_泵 您不能将其恢复到不同的PostgreSQL版本,不能只转储一个数据库等;要么全是,要么什么都没有。