외부 데이터베이스 버전이 16.3이고, web_only 컨테이너에는 psql (PostgreSQL) 15.12가 설치되어 있습니다. 백업 시 오류가 발생하고 있는데, 버전 문제를 어떻게 해결할 수 있을까요?
감사합니다.
에러를 여기서 세 개의 백틱(```)으로 포맷해서 보내줄 수 있을까요?
감사합니다!
[2025-05-08 03:32:20] 'system'이(가) 백업을 시작했습니다!
[2025-05-08 03:32:20] 백업을 실행 중으로 표시하는 중...
[2025-05-08 03:32:20] '/var/www/discourse/tmp/backups/default/2025-05-08-033220' 디렉터리가 존재하는지 확인 중...
[2025-05-08 03:32:20] '/var/www/discourse/public/backups/default' 디렉터리가 존재하는지 확인 중...
[2025-05-08 03:32:20] 메타데이터 업데이트 중...
[2025-05-08 03:32:20] 데이터베이스의 공개 스키마를 덤프하는 중...
[2025-05-08 03:32:20] pg_dump: 오류: 서버 버전 불일치로 인해 중단됩니다
[2025-05-08 03:32:20] pg_dump: 상세 정보: 서버 버전: 16.3; pg_dump 버전: 15.12 (Debian 15.12-1.pgdg120+1)
[2025-05-08 03:32:20] 예외: pg_dump 실패
[2025-05-08 03:32:20] /var/www/discourse/lib/backup_restore/backuper.rb:173:in dump_public_schema```
아마도 IIRC에 따르면 Discourse가 Postgres 15까지만 지원하기 때문일 것입니다.
그리고 두 데이터베이스 버전이 서로 다르기 때문일 수도 있습니다(하나는 16, 다른 하나는 15).
문제가 16버전과 Discourse의 PG15 도구가 충돌해서 발생하는 것 같습니다. 컨테이너에 들어가서 PG16 도구로 전환해야 합니다.
장기적인 해결책은 새 컨테이너를 빌드할 때 PG 도구를 업그레이드하도록 app.yml에 코드를 추가하는 것입니다.
과거에 누군가를 위해 이 작업을 수행한 적이 있지만, 지금은 그들을 위해 일하지 않고 있으며 제 코드를 찾을 수 없습니다.
구글에서 "PG16으로 업그레이드하는 방법"을 검색한 후 컨테이너 내에서 해당 작업을 수행하면 됩니다. 그런 다음 재빌드 시 자동으로 실행되도록 app.yml에 관련 설정을 추가하세요.