【问题标题】:Restore PostgreSQL database using only the tablespace files仅使用表空间文件恢复 PostgreSQL 数据库
【发布时间】:2019-08-05 14:22:10
【问题描述】:

我在 Raspberry PI 上使用 PostgreSQL。 PI 上的数据库设置为使用存储在 USB 驱动器上的表空间(这样我就不会堵塞 SD 卡)。我的问题是,是否可以仅使用 USB 驱动器中的表空间文件在另一台 PC 上重新创建我的数据库?如果是这样,我怎么能这样做?我想知道我的其他备份是否损坏并且我只剩下 USB 了。

我尝试将 USB 连接到我的 linux PC,将文件复制到新位置,并更改“/etc/postgresql/9.6/main/postgresql.conf”文件中的 data_directory,但这导致连接错误。

【问题讨论】:

    标签: postgresql


    【解决方案1】:

    不,这绝对不可能。

    如果没有存储在目录表中的对象定义,对象的数据文件将毫无意义。

    此外,表行包含依赖于事务 ID 的可见性信息,这在目标系统上将完全不同。

    还有各种其他数据结构(multixacts、提交日志),没有这些数据结构,信息将无法使用。

    您需要逻辑备份 (pg_dump) 或物理备份 (pg_basebackup)。

    【讨论】:

    • 谢谢,我会确保进行备份。很高兴知道无法仅从 USB 表空间内容重新创建数据。
    猜你喜欢
    • 2022-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-27
    • 2019-01-30
    • 1970-01-01
    • 2013-10-15
    相关资源
    最近更新 更多