如何解决尝试还原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 举报,一经查实,本站将立刻删除。