看起来备份中有两个用户使用了相同的邮箱?请删除其中一个用户,或修改其中一个邮箱地址,然后创建新的备份。
1 个赞
你的索引已损坏。我遇到过类似的问题(可能是不同的表和索引),并在 Can't restore due to corrupt indexes (with some clues on how to deal with corrupt indexes) 中描述了我是如何修复的。你的解决方案会有所不同,但我在那里描述的内容或许能帮助你找到解决自己问题的方法。
3 个赞
这是个好消息。
你有多种选择。凭印象,这里只列出两种:
分析并重新索引用户表:
VACUUM ANALYZE users;
然后你可以执行:
REINDEX VERBOSE TABLE users
这将对单个表(如上面的示例中的“users”)进行分析并重新索引。
你也可以对整个数据库执行相同的操作:
VACUUM;
REINDEX DATABASE discourse;
无论哪种方式,在对你“旧数据库”执行 REINDEX 之后,你可以创建一个新的备份,然后尝试将其恢复到“新数据库”中,看看效果如何。
希望这能帮到你。
另请参阅:
4 个赞
为什么会出现这个错误?
[开始]
'system' 已启动恢复操作!
将恢复状态标记为运行中...
确保 /var/www/discourse/tmp/restores/default/2020-08-26-075829 目录存在...
正在将归档文件复制到临时目录...
正在解压缩归档文件,这可能需要一些时间...
正在提取转储文件...
异常:设备上没有空间 @ io_write - /shared/tmp/restores/default/2020-08-26-075829/dump.sql
/var/www/discourse/lib/compression/gzip.rb:50:in `write'
/var/www/discourse/lib/compression/gzip.rb:50:in `<<'
/var/www/discourse/lib/compression/gzip.rb:50:in `block in extract_file'
/var/www/discourse/lib/compression/gzip.rb:45:in `open'
/var/www/discourse/lib/compression/gzip.rb:45:in `extract_file'
/var/www/discourse/lib/compression/strategy.rb:26:in `block (2 levels) in decompress'
/var/www/discourse/lib/compression/strategy.rb:18:in `each'
/var/www/discourse/lib/compression/strategy.rb:18:in `block in decompress'
/var/www/discourse/lib/compression/gzip.rb:30:in `get_compressed_file_stream'
/var/www/discourse/lib/compression/strategy.rb:15:in `decompress'
/var/www/discourse/lib/backup_restore/backup_file_handler.rb:86:in `extract_db_dump'
/var/www/discourse/lib/backup_restore/backup_file_handler.rb:23:in `decompress'
/var/www/discourse/lib/backup_restore/restorer.rb:42:in `run'
script/discourse:143:in `restore'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/thor-1.0.1/lib/thor/command.rb:27:in `run'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/thor-1.0.1/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/thor-1.0.1/lib/thor.rb:392:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/thor-1.0.1/lib/thor/base.rb:485:in `start'
script/discourse:284:in `<top (required)>'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/cli/exec.rb:63:in `load'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/cli/exec.rb:63:in `kernel_load'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/cli/exec.rb:28:in `run'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/cli.rb:476:in `exec'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/vendor/thor/lib/thor.rb:399:in `dispatch'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/cli.rb:30:in `dispatch'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/vendor/thor/lib/thor/base.rb:476:in `start'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/cli.rb:24:in `start'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/exe/bundle:46:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/friendly_errors.rb:123:in `with_friendly_errors'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/exe/bundle:34:in `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
正在尝试回滚...
无需回滚
正在清理临时文件...
正在删除临时目录 '/var/www/discourse/tmp/restores/default/2020-08-26-075829'...
正在恢复 sidekiq...
将恢复状态标记为已完成...
正在通知 'system' 恢复操作已结束...
完成!
[失败]
恢复操作结束。
坦白说,也许
![]()
5 个赞