如何在Postgresql中备份和恢复Sonarqube数据库

4
我希望能够重建一个包含原始服务器中所有项目和设置的Sonarqube服务器。数据库使用的是Postgresql。但是我找不到相关文档。
首先,我尝试在Sonarqube的Web UI中进行备份:设置->系统->备份,然后将其备份到xml文件中。但是当我在新的Sonarqube服务器上恢复时,原始服务器中的所有项目都消失了。看起来这个“备份”只是针对设置,不包括项目数据。
然后我尝试备份数据库。在构建原始的Sonarqube服务器时,我创建了一个名为“sonar”的数据库。
postgres-# create database sonar with owner sonar encoding 'UTF8';

所以我试图将其转储:

$ sudo su - postgres
$ pg_dump sonar
pg_dump: [archiver (db)] connection to database "sonar" failed: FATAL:  database "sonar" does not exist

尝试验证它的存在:

$ psql -l

但是只有三个项目:postgres、template0和template1。"sonar"数据库在哪里?我也尝试使用用户"sonar"进行查询,但失败了:

$ psql -l -U sonar
psql: FATAL:  Peer authentication failed for user "sonar"

那么如何使用所有旧项目和设置重新构建Sonarqube服务器呢?

1个回答

1
花了我一段时间才看出来,但答案实际上非常显然:
postgres-# create database sonar with owner sonar encoding 'UTF8';

你没有创建数据库。你可能在继续输入一行代码时出现错误。这行代码的开头应该是:
postgres=#

当不是这种情况时,请按Ctrl-C返回到一个新的空行。

如何从备份构建,有哪些步骤?比如我导出备份文件并启动服务器。现在,在将其复制到 SonarQube 服务器 Pod 后,如何加载新的数据库? - AhmFM

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接