postgresql - 使用 vagrant & puppet,如何在新的 postgresql-server 实例上创建和恢复数据库?

标签 postgresql puppet

我已经准备好全新配置的 apache 和 postgres 实例。我想恢复转储或将包含数据的逻辑卷安装到 postgres 实例。同样,我想确保在关闭实例时写出转储或卸载卷。

我可以这样使用逻辑卷吗?我应该如何处理?

我看到了这个: How to handle data such as Mysql, web sites sources with Vagrant?

最佳答案

另一个答案有以下建议。下面我将讨论它们对 PostgreSQL 的影响。

In the current version of Vagrant (1.0.3), you have two main options:

  • Use shared folders. You can put your MySQL data directory into a shared folder so that the data comes back onto your host machine. The con of this is that shared folders are actually quite slow compared to the native VM filesystem in VirtualBox, and you can run into weird permission issues as well.
  • Setup a task (rake, make, etc.) to copy your MySQL data to your shared folder on demand. Then, before you decide to destroy your VM, you can run the task to export your data to your shared folder, then you can reimport the data when you bring your VM back up.

共享文件夹的方法可能行得通,但如果您这样做,您需要格外小心文件权限。 PostgreSQL 对此往往非常偏执,因此您可能必须谨慎对待组权限。

我会推荐基于第二种方法的东西,使用基本备份(使用 pg_basebackup),因为你得到了你的数据库的副本。您还可以将您的 wal 段存档到该目录,以便可以根据需要将某些内容恢复到接近当前的状态。

关于postgresql - 使用 vagrant & puppet,如何在新的 postgresql-server 实例上创建和恢复数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18414686/

相关文章:

postgresql - 在 PostgreSQL 中使用哪种数据类型来引用 SERIAL 数据类型?

javascript - 如何在不使用 plv8.elog() 的情况下获取 plv8 中变量的值?

sql - 我应该如何建模模型可以与 Django 中不同类型的实体相关的模式

puppet - 要求 puppet 在开始服务之前放置一个文件

puppet - 在 puppet 中,如何停止服务,执行某些操作然后启动服务?

puppet - 不能为 puppet 代理使用不同的环境

postgresql - 在 postgres 中合并行

ruby - 向 puppet 自定义类型添加一些调试

deployment - 我的应用程序多次安装 - 我该如何处理

sql - 如何对 jsonb 中的字段执行求和,然后使用结果过滤查询的输出