尝试还原Sonarqube数据库后,PostgreSQL错误“关系不存在”

问题描述

一段时间以来,我一直在试图找到一种方法来恢复我们的声纳Postgresql数据库,但是我一直遇到这个问题。我们的Sonarqube数据库和postgresql数据库都在Docker容器中运行,这些容器位于Digital Ocean中的一个分支上。

进行备份正常,但是当我尝试还原时,出现以下错误

2020.09.22 12:57:10 ERROR web[][o.s.s.n.NotificationDaemon] Error in NotificationService
org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: org.postgresql.util.PsqlException: ERROR: relation "notifications" does not exist
  Position: 40
### The error may exist in org.sonar.db.notification.NotificationQueueMapper
### The error may involve org.sonar.db.notification.NotificationQueueMapper.findOldest-Inline
### The error occurred while setting parameters
### sql: select uuid,data,created_at     from notifications     order by created_at asc     limit ?
### Cause: org.postgresql.util.PsqlException: ERROR: relation "notifications" does not exist
  Position: 40

仅在“通知”中一直发生这种情况。我试图仅用部分用户和整个项目来测试备份恢复器,有趣的是,我确实在数据库中确实看到了用户和项目EXIST。在还原过程中的某个地方,似乎出现了问题。

我执行还原的方法是将脚本复制到声纳数据库容器,该容器执行完整的声纳数据库删除。然后,我重新创建数据库,并尝试使用以下命令加载我的psql转储文件

cat <psql.dump> | docker exec -i <container> psql -U sonar 

我们用于容器的图像是 sonarqube:latest postgres:latest

有人对此问题有经验吗?任何帮助将不胜感激。

解决方法

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

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

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