代码之家  ›  专栏  ›  技术社区  ›  Stavros Korokithakis

有人知道备份postgres数据库的好方法吗?

  •  7
  • Stavros Korokithakis  · 技术社区  · 17 年前

    有没有人知道一个可以帮助我的程序/脚本,或者一种方法?

    8 回复  |  直到 17 年前
        1
  •  19
  •   Adam Batkin    17 年前

    一种方法是 use pg_dump psql 若要重新加载数据库,并且由于它也可以作为纯文本导出,您可以在必要时在还原之前查看或编辑数据。

    下一种方法是暂时关闭数据库(或者如果文件系统支持原子快照,理论上这可能可行),然后 backup 你的PostgreSQL data 目录

    This PostgreSQL站点的第页还介绍了如何进行在线备份和时间点恢复,这无疑是最难配置的,但也是最佳方法。其思想是通过运行一些特殊的SQL来执行基本备份(可以每天、几天或每周执行)( pg_start_backup 和 pg_stop_backup

        2
  •  4
  •   Kevin    13 年前

    下面是可以通过crontab备份postgresql的脚本

    http://ithelpblog.com/os/linux/debian/best-way-to-backup-postgresql-database/

    当做

        3
  •  3
  •   Vitaly Kushner    17 年前

    用于两个MySQL的自动备份 及 astrails-safe on github (或只是“ gem install astrails-safe --source=http://gems.github.com 它使用mysqldump来备份MySQL,使用pg_dump来备份Postgres。它还知道如何使用tar备份普通文件,使用GnuPG加密所有内容,并将其上载到S3或任何使用SFTP的Unix服务器。

        4
  •  3
  •   chotchki    16 年前

    因为您指定了数据库, pg_dumpall 会对你更有用。它将所有数据库和用户转储到一个sql文件中,而不仅仅是一个sql文件。

        5
  •  2
  •   user80168 user80168    17 年前

    这个 备份的方法是使用pg_dump。

    除非pg_dump是 经过证实的 这是你应该使用的。在您遇到pg_dump无法使用的情况后,您应该问问自己:为什么不能使用它,以及如何再次使用它:)

        6
  •  1
  •   Randell    17 年前

    您还可以使用 phpPgAdmin 或 pgAdmin III .

        7
  •  1
  •   Vladimir Dyuzhev    14 年前

    我刚刚偶然发现了这个小巧的实用程序:

    http://code.google.com/p/pg-rman/

    从文档上看,它看起来很有希望,但我还必须尝试一下。

        8
  •  0
  •   Techie    12 年前

    备份您的数据库

    pg_dump --format=c olddb_name > db_dump_file.dump
    

    恢复备份

    pg_restore -v -d newdb_name db_dump_file.dump
    

    阅读更多关于 pg_dump 和 pg_restore