외부 데이터베이스를 사용하여 통합된 Docker 기반 Postgres 대신 Discourse를 운영하고 있습니다. 최근 Postgres 클러스터를 14로 업그레이드해야 했는데, 이로 인해 Discourse 백업이 계속 실패하고 있습니다.
로그 출력
[2022-01-17 03:38:08] Dumping the public schema of the database...
[2022-01-17 03:38:08] pg_dump: error: server version: 14.1 (Ubuntu 14.1-1.pgdg18.04+1); pg_dump version: 13.5 (Debian 13.5-1.pgdg100+1)
[2022-01-17 03:38:08] pg_dump: error: aborting because of server version mismatch
[2022-01-17 03:38:08] EXCEPTION: pg_dump failed
컨테이너의 postgresql-client 13.5-1.pgdg100+1을 14 버전으로 업그레이드할 수 있는 방법이 있을까요?
데이터베이스 업그레이드에 막대한 엔지니어링 리소스가 필요하기 때문에, 우리는 2개 릴리스마다 Postgres 버전을 업그레이드합니다. 현재 Postgres 13을 사용 중이므로, Postgres 15.1이 릴리스되면(버그 수정용 포인트 릴리스) 해당 버전으로 업그레이드할 예정입니다.
그 점은 충분히 이해합니다. 다만 업그레이드 정책에 대해 짚어주셔서 감사합니다. 정말 좋은 정보가 됐습니다. 저희도 데이터베이스 관련 엔지니어링 리원의 중요성을 잘 알고 있습니다. Postgres를 정말 좋아하지만, 클러스터를 업그레이드할 때마다 마치 열심 가톨릭 신자가 되는 것 같습니다. 업그레이드 전 온갖 기도를 올리고 그래도 결국 피와 땀, 그리고 눈물을 흘리게 되거든요.
이것이 애플리케이션 자체의 Ruby gems와 관련하여 의존성 문제를 일으킬 수 있을까요? 제 이해가 맞다면, apt install을 훅으로 추가하려면 launcher rebuild app이 필요할 텐데, 맞나요? 그렇다면 제 다른 토픽에서 설명한 바와 같이 또 다른 고통스러운 업그레이드를 피하기 위해 이 방법을 건너뛰고 싶습니다. 중국 내에서 앱을 재빌드하는 과정에서 막대한 문제를 겪고 있기 때문입니다. 그래서 앱에 직접 진입한 후 apt를 통해 수동으로 설치하는 것만으로도 해결이 될지 확인하고 싶습니다.