如何通过复制 .couch 文件来恢复备份数据库

问题描述

场景:我有一个采用database-per-user模型的单节点数据库用户删除了他的数据库。我知道数据库名称

  • 我想通过将 .couch 文件复制回数据文件夹来从备份中恢复数据库
  • 我不想将包含所有数据库的完整备份恢复到另一个 CouchDB 实例,因为这需要很长时间。

问题:

  1. 仅复制 .couch 文件是不够的(不再),因为有一个索引 (_dbs.couch) 将此数据库标记为已删除
  2. 重命名 .couch 文件并将其复制回数据文件夹不起作用,因为“新”数据库名称不在索引中。
  3. 创建一个同名的新数据库,然后从备份中复制回文件不起作用,因为新数据库在 .couch 文件名中具有不同的时间戳。
  4. 执行第 3 步,但将备份文件的时间戳重命名为新创建的数据库的新时间戳,然后由于我不知道的原因复制文件也不起作用。

问题:如何从 .couch 文件备份恢复单个已删除数据库,而不将完整备份恢复到同一个或单独的实例?

  • 有没有办法让 CouchDB 重新索引其数据目录中所有现有的 .couch 文件
  • 有没有办法修改 _dbs.couch 索引以添加恢复的数据库

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)