我想请求是否有适用于Windows的软件可以在特定时间安排PostgreSQL备份。
我们在不同的位置维护多个服务器,所以我想知道是否有任何简单的方法来远程调度PostgreSQL数据库备份,因为在数据库加载时存在某些高峰时间,我想在夜晚不会发生任何麻烦。
答案 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,因此将其集成到备份管理器中变得复杂。像这样:
pg_start_backup()
。pg_xlog
的数据目录,所有表空间等。pg_stop_backup()
如果物理备份看起来过于复杂,请坚持使用逻辑备份转储(pg_dump
,pg_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图。