适用于Windows的PostgreSQL备份软件

时间:2014-01-07 16:44:51

标签: postgresql backup database-backups

我想请求是否有适用于Windows的软件可以在特定时间安排PostgreSQL备份。

我们在不同的位置维护多个服务器,所以我想知道是否有任何简单的方法来远程调度PostgreSQL数据库备份,因为在数据库加载时存在某些高峰时间,我想在夜晚不会发生任何麻烦。

4 个答案:

答案 0 :(得分:3)

像Areca Backup,Bacula(如果你有一台用于备份存储的Linux服务器)或者50万商业备份“解决方案”这样的工具几乎可以用来备份PostgreSQL。

逻辑备份

让现有的备份管理产品负责保留,轮换和日程安排。您应该做的是提供一个预备份脚本来插入您的备份产品。此脚本将运行pg_dumpall --globals-only,并为每个DB运行pg_dump -Fc ...,以将DB内容保存到转储目录。这是shown in the regular backup/restore docs的通常过程。然后回来了。在备份后脚本中,删除转储输出,因为它现在将存档在备份管理工具的存档中。

我从来没有见过没有预挂钩和挂钩后的备份管理产品。

物理备份

您可以使用类似的策略进行物理备份,而不仅仅是上面的逻辑备份。一般过程再次记录在regular backup/restore docs中。由于需要复制pg_stop_backup()之后生成的WAL,因此将其集成到备份管理器中变得复杂。像这样:

  • 使某些启用WAL归档,并且可以从运行备份的主机读取归档目录。
  • 在预备份挂钩中,连接到数据库并运行pg_start_backup()
  • 必须支持卷影复制服务复制的备份产品复制包含pg_xlog的数据目录,所有表空间等。
  • 在备份后挂钩中,运行pg_stop_backup()
  • 定义在主数据库备份之后运行的另一个备份文件集。此文件集必须将所有存档的WAL备份到备份标签中的某个点。如果不这样做,将导致无法恢复的备份。

如果物理备份看起来过于复杂,请坚持使用逻辑备份转储(pg_dumppg_dumpall等),并使用流复制/ PITR + pg_basebackup进行物理备份。

答案 1 :(得分:1)

我在我的环境中使用postgres备份在Windows Server 2008 R2上工作了一段时间。有一个相关问题here

我还没有看过用于Windows备份PG的软件。我写了一堆DOS批处理文件,并将它们与Windows任务计划程序结合起来。这是一项非常重要的努力。

除非您可以关闭PG实例,否则备份Postgres并不像拍摄“data”目录的快照那么简单。我建议开始的方法是通过阅读和理解PostgreSQL 9管理手册(Simon Riggs和Hannu Krosing)的第11章。

答案 2 :(得分:1)

wiki.postgresql.org上似乎有一个非常好的页面,记录了你需要做什么here。如果此文档不足以满足您的需求,我建议您增强原始发布。

答案 3 :(得分:0)

我建议您查看http://www.navicat.com/products/navicat-premium。我不为他们工作,但它是一个了不起的跨平台工具。

它为我节省了几次,还有什么?它帮助我了解数据库ER图。