将 Gitlab 中的 Postgresql 从 PG12 升级到 PG13 时出现问题

Problems upgrading Postgresql in Gitlab from PG12 to PG13

提问人:overstacker258 提问时间:11/7/2023 更新时间:11/9/2023 访问量:40

问:

我目前正在尝试在 Openshift 4.11 上使用 Helm 将 gitlab 从 15.11.13 更新到 16.1.5,并且还需要升级我的 Postresql 数据库。不幸的是,它遇到了一个问题。

gitlab-studio-backup$ curl -s “https://gitlab.com/gitlab-org/charts/gitlab/-/raw/v7.1.5/scripts/database-upgrade” |bash -s -x – -r gitlab-dev-release -n gitlab-dev pre

set -e
fake_timestamp=database_upgrade_6
script_name=database-upgrade
getopts :r:n:b: opt
case “${opt}” in
release=gitlab-dev-release
getopts :r:n:b: opt
case “${opt}” in
namespace=‘-n gitlab-dev’
getopts :r:n:b: opt
shift 4
case ${1} in
pre
in_toolbox backup-utility -t database_upgrade_6 --skip registry,uploads,artifacts,lfs,packages,external_diffs,terraform_state,ci_secure_files,repositories,pages
++ grep -v backup
+++ selector toolbox
+++ base=app=toolbox
++ head -n 1
+++ ‘[’ -n gitlab-dev-release ‘]’
+++ base+=,release=gitlab-dev-release
+++ echo app=toolbox,release=gitlab-dev-release
++ kubectl -n gitlab-dev get pods -l app=toolbox,release=gitlab-dev-release --field-selector status.phase=Running -o custom-columns=N:.metadata.name --no-headers
task_pod=gitlab-dev-release-toolbox-65c4d44458-7b2vh
kubectl -n gitlab-dev exec -it gitlab-dev-release-toolbox-65c4d44458-7b2vh -c toolbox – env GITLAB_ASSUME_YES=1 backup-utility -t database_upgrade_6 --skip registry,uploads,artifacts,lfs,packages,external_diffs,terraform_state,ci_secure_files,repositories,pages
Unable to use a TTY - input is not a terminal or the right kind of file
2023-11-02 18:01:04 +0100 – Dumping database …
Dumping PostgreSQL database gitlabhq_production … pg_dump: warning: could not find where to insert IF EXISTS in statement "-- not dropping schema, since initdb creates it
"
[DONE]
2023-11-02 18:01:08 +0100 – Dumping database … done
2023-11-02 17:01:08 +0000 – Deleting backup and restore lock file
Packing up backup tar
ERROR: Error parsing xml: mismatched tag: line 66, column 4
ERROR: b’\r\n \r\n \r\n\r\n \r\n body {\r\n font-family: “Helvetica Neue”, Helvetica, Arial, sans-serif;\r\n line-height: 1.66666667;\r\n font-size: 16px;\r\n color: #333;\r\n background-color: #fff;\r\n margin: 2em 1em;\r\n }\r\n h1 {\r\n font-size: 28px;\r\n font-weight: 400;\r\n }\r\n p {\r\n margin: 0 0 10px;\r\n }\r\n .alert.alert-info {\r\n background-color: #F0F0F0;\r\n margin-top: 30px;\r\n padding: 30px;\r\n }\r\n .alert p {\r\n padding-left: 35px;\r\n }\r\n ul {\r\n padding-left: 51px;\r\n position: relative;\r\n }\r\n li {\r\n font-size: 14px;\r\n margin-bottom: 1em;\r\n }\r\n p.info {\r\n position: relative;\r\n font-size: 20px;\r\n }\r\n p.info:before, p.info:after {\r\n content: “”;\r\n left: 0;\r\n position: absolute;\r\n top: 0;\r\n }\r\n p.info:before {\r\n background: #0066CC;\r\n border-radius: 16px;\r\n color: #fff;\r\n content: “i”;\r\n font: bold 16px/24px serif;\r\n height: 24px;\r\n left: 0px;\r\n text-align: center;\r\n top: 4px;\r\n width: 24px;\r\n }\r\n\r\n @media (min-width: 768px) {\r\n body {\r\n margin: 6em;\r\n }\r\n }\r\n \r\n \r\n \r\n
\r\n
Application is not available
\r\n

The application is currently not serving requests at this endpoint. It may not have been started or is still starting.
\r\n\r\n
\r\n

\r\n Possible reasons you are seeing this page:\r\n
\r\n
    \r\n
    \r\n The host doesn't exist.\r\n Make sure the hostname was typed correctly and that a route matching this hostname exists.\r\n
    \r\n
    \r\n The host exists, but doesn't have a matching path.\r\n Check if the URL path was typed correctly and that the route was created using the desired path.\r\n
    \r\n
    \r\n Route and path matches, but all pods are down.\r\n Make sure that the resources exposed by this route (pods, services, deployment configs, etc) have at least one pod running.\r\n
    \r\n \r\n
\r\n
\r\n \r\n\r\n’
WARNING: Upload failed: /database_upgrade_6_gitlab_backup.tar (503 (Service Unavailable))
WARNING: Retrying on lower speed (throttle=0.01)
WARNING: Waiting 3 sec…

我试图找到解决这个问题的任何解决方案,但找不到任何可以帮助我的东西。

PostgreSQL GitLab OpenShift

评论

0赞 Richard Huxton 11/7/2023
我认为您需要找到此错误的来源:。Error parsing xml: mismatched tag: line 66, column 4
0赞 overstacker258 11/8/2023
我也试图检查一下。但我无法找出这条线应该是。它不是我执行的卷曲脚本。在这里,它仅引用 if 语句。我无法发现它是否将脚本更改为正在执行的脚本。
0赞 Richard Huxton 11/8/2023
数据库备份中包含 xml 并非不可能,但不太可能。日志也不会建议您当时正在还原 dtabase

答:

0赞 overstacker258 11/9/2023 #1

目标端口配置为 false。GUI 未在正常视图中正确显示它。在编辑模式下,您可以看到缺少的端口配置。

评论

0赞 Community 11/12/2023
您的答案可以通过其他支持信息进行改进。请编辑以添加更多详细信息,例如引文或文档,以便其他人可以确认您的答案是正确的。您可以在帮助中心找到有关如何写出好答案的更多信息。