POSTGRES 업그레이드가 실패하여 앱을 다시 빌드할 수 없습니다

저는 단일 컨테이너를 사용하며 공식적인 방법으로 설치했습니다.

로그는 다음과 같습니다.

PostgreSQL을 버전 13에서 15로 업그레이드 중
이 데이터베이스 시스템에 속한 파일은 "postgres" 사용자가 소유하게 됩니다.
이 사용자는 서버 프로세스도 소유해야 합니다.

데이터베이스 클러스터는 로케일 "en_US.UTF-8"로 초기화됩니다.
기본 데이터베이스 인코딩은 이에 따라 "UTF8"으로 설정되었습니다.
기본 텍스트 검색 구성은 "english"로 설정됩니다.

데이터 페이지 체크섬이 비활성화되어 있습니다.

기존 디렉터리 /shared/postgres_data_new의 권한 수정 ... ok
서브디렉터리 생성 ... ok
동적 공유 메모리 구현 선택 ... posix
기본 max_connections 선택 ... 100
기본 shared_buffers 선택 ... 128MB
기본 시간대 선택 ... Etc/UTC
구성 파일 생성 ... ok
부트스트랩 스크립트 실행 ... ok
부트스트랩 후 초기화 수행 ... ok
디스크에 데이터 동기화 ... ok


성공했습니다. 이제 다음을 사용하여 데이터베이스 서버를 시작할 수 있습니다:

    /usr/lib/postgresql/15/bin/pg_ctl -D /shared/postgres_data_new -l logfile start

Get:1 https://dl.yarnpkg.com/debian stable InRelease [17.1 kB]
Get:2 https://deb.nodesource.com/node_22.x nodistro InRelease [12.1 kB]
Get:3 http://deb.debian.org/debian bookworm-backports InRelease [59.0 kB]
Get:4 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:5 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
Get:6 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:7 https://dl.yarnpkg.com/debian stable/main amd64 Packages [10.9 kB]
Get:8 https://dl.yarnpkg.com/debian stable/main all Packages [10.9 kB]
Get:9 https://deb.nodesource.com/node_22.x nodistro/main amd64 Packages [5,416 B]
Get:10 http://deb.debian.org/debian bookworm-backports/main amd64 Packages [283 kB]
Get:11 http://deb.debian.org/debian bookworm/main amd64 Packages [8,792 kB]
Get:12 http://deb.debian.org/debian bookworm-updates/main amd64 Packages [13.5 kB]
Get:13 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [245 kB]
Get:14 https://apt.postgresql.org/pub/repos/apt bookworm-pgdg InRelease [129 kB]
Get:15 https://apt.postgresql.org/pub/repos/apt bookworm-pgdg/main amd64 Packages [360 kB]
24초 동안 10.2 MB 가져오기 완료 (417 kB/s)
패키지 목록 읽는 중...
패키지 목록 읽는 중...
의존성 트리 구축 중...
상태 정보 읽는 중...
다음 추가 패키지가 설치될 것입니다:
  postgresql-client-13
권장 패키지:
  postgresql-doc-13
다음 새 패키지가 설치될 것입니다:
  postgresql-13 postgresql-13-pgvector postgresql-client-13
0개 업그레이드, 3개 신규 설치, 0개 제거 및 3개 업그레이드 안 함.
아카이브 17.3 MB를 가져와야 합니다.
이 작업 후 추가 디스크 공간 56.7 MB가 사용됩니다.
Get:1 https://apt.postgresql.org/pub/repos/apt bookworm-pgdg/main amd64 postgresql-client-13 amd64 13.18-1.pgdg120+1 [1,523 kB]
Get:2 https://apt.postgresql.org/pub/repos/apt bookworm-pgdg/main amd64 postgresql-13 amd64 13.18-1.pgdg120+1 [15.4 MB]
Get:3 https://apt.postgresql.org/pub/repos/apt bookworm-pgdg/main amd64 postgresql-13-pgvector amd64 0.8.0-1.pgdg120+1 [297 kB]
1분 12초 동안 17.3 MB 가져오기 완료 (238 kB/s)
이전 선택되지 않은 패키지 postgresql-client-13 선택 중.
(데이터베이스 읽는 중 ... 현재 33363개 파일 및 디렉터리가 설치되어 있습니다.)
압축 해제 준비 중 .../postgresql-client-13_13.18-1.pgdg120+1_amd64.deb ...
postgresql-client-13 (13.18-1.pgdg120+1) 압축 해제 중 ...
이전 선택되지 않은 패키지 postgresql-13 선택 중.
압축 해제 준비 중 .../postgresql-13_13.18-1.pgdg120+1_amd64.deb ...
postgresql-13 (13.18-1.pgdg120+1) 압축 해제 중 ...
이전 선택되지 않은 패키지 postgresql-13-pgvector 선택 중.
압축 해제 준비 중 .../postgresql-13-pgvector_0.8.0-1.pgdg120+1_amd64.deb ...
postgresql-13-pgvector (0.8.0-1.pgdg120+1) 압축 해제 중 ...
postgresql-client-13 (13.18-1.pgdg120+1) 설정 중 ...
postgresql-13 (13.18-1.pgdg120+1) 설정 중 ...
새 PostgreSQL 클러스터 13/main 생성 중 ...
/usr/lib/postgresql/13/bin/initdb -D /var/lib/postgresql/13/main --auth-local peer --auth-host md5
이 데이터베이스 시스템에 속한 파일은 "postgres" 사용자가 소유하게 됩니다.
이 사용자는 서버 프로세스도 소유해야 합니다.

데이터베이스 클러스터는 로케일 "C.UTF-8"로 초기화됩니다.
기본 데이터베이스 인코딩은 이에 따라 "UTF8"으로 설정되었습니다.
기본 텍스트 검색 구성은 "english"로 설정됩니다.

데이터 페이지 체크섬이 비활성화되어 있습니다.

기존 디렉터리 /var/lib/postgresql/13/main의 권한 수정 ... ok
서브디렉터리 생성 ... ok
동적 공유 메모리 구현 선택 ... posix
기본 max_connections 선택 ... 100
기본 shared_buffers 선택 ... 128MB
기본 시간대 선택 ... Etc/UTC
구성 파일 생성 ... ok
부트스트랩 스크립트 실행 ... ok
부트스트랩 후 초기화 수행 ... ok
디스크에 데이터 동기화 ... ok

성공했습니다. 이제 다음을 사용하여 데이터베이스 서버를 시작할 수 있습니다:

    pg_ctlcluster 13 main start

invoke-rc.d: 현재 runlevel을 결정할 수 없습니다
invoke-rc.d: policy-rc.d가 start 실행을 거부했습니다.
postgresql-13-pgvector (0.8.0-1.pgdg120+1) 설정 중 ...
postgresql-common (267.pgdg120+1) 트리거 처리 중 ...
설치된 myspell/hunspell 패키지에서 PostgreSQL 사전 빌드 중...
오래된 사전 파일 제거:
PostgreSQL 13 데이터베이스 서버 중지 중: main.
PostgreSQL 15 데이터베이스 서버 중지 중: main.
일관성 검사 수행
-----------------------------
클러스터 버전 확인                                   ok

소스 클러스터가 깨끗하게 종료되지 않았습니다.
실패, 종료 중
-------------------------------------------------------------------------------------
POSTGRES 업그레이드 실패

지원이 필요하면 https://meta.discourse.org/t/postgresql-15-update/349515 을(를) 방문하세요.

그동안 ./launcher start app을 실행하여 앱을 재시작할 수 있습니다
-------------------------------------------------------------------------------------



실패
--------------------
Pups::ExecError: if [ -f /root/install_postgres ]; then
  /root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
fi
 실패, 반환 코드 #<Process::Status: pid 18 exit 1>
실패 위치: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec 실패, 매개변수 {"tag"=>"db", "cmd"=>"if [ -f /root/install_postgres ]; then\n  /root/install_postgres && rm -f /root/install_postgres\nelif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then\n  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1\nfi\n"}
부트스트랩 실패, 종료 코드 1
** 부트스트랩 실패 ** 이전의 오류 메시지를 확인하려면 위로 스크롤하세요. 오류가 하나 이상 있을 수 있습니다.
./discourse-doctor이(가) 문제를 진단하는 데 도움이 될 수 있습니다.
82e5245f6cce6139328d093702db6d9cc57686bd1ef10025bdabff6c5f8151fe

이것은 다음을 의미합니다.

그리고 나서 ./launcher stop app을 실행한 뒤 다시 빌드를 시도해 보세요.

안녕하세요, 다음 명령어를 실행해 보았지만

1 ./launcher start app
2 ./launcher stop app
3 ./launcher rebuild app

오류가 동일하게 발생합니다.

원인을 찾았을지도 모릅니다. ./launcher stop app을 실행한 후,
DB 시스템이 종료되지 않았습니다.
이미 3분을 기다렸는데, 혹시 아이디어가 있으신가요?

2025-02-11 19:24:08.044 UTC [550] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2025-02-11 19:24:08.044 UTC [550] LOG:  listening on IPv6 address "::", port 5432
2025-02-11 19:24:08.046 UTC [550] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2025-02-11 19:24:08.065 UTC [569] LOG:  database system was interrupted; last known up at 2025-02-11 19:19:31 UTC
2025-02-11 19:24:08.323 UTC [569] LOG:  database system was not properly shut down; automatic recovery in progress
2025-02-11 19:24:08.326 UTC [569] LOG:  redo starts at 3/2BE89C0
2025-02-11 19:24:08.326 UTC [569] LOG:  invalid record length at 3/2BEFFC8: wanted 24, got 0
2025-02-11 19:24:08.326 UTC [569] LOG:  redo done at 3/2BEFFA0
2025-02-11 19:24:08.344 UTC [550] LOG:  database system is ready to accept connections

컨테이너를 시작하고, 데이터베이스가 느린 시간대가 될 때까지 기다린 후 다시 시도해야 합니다.

현재 제 디스코urs 인스턴스를 사용하는 사용자가 거의 없습니다. 그래서 데이터베이스가 느린 시기에 있는 것 같네요…

다음 단계들을 시도해 보시겠어요?

동작합니다. 정말 감사합니다!