어제 비슷한 사례를 겪었습니다(Help! Upgrade led to complete fail - #8 by Judith 참조). 대략적으로 말하면, 다음과 같은 조치를 취해야 할 것 같습니다.
postgres_data_old를 다시postgres_data로 이름 변경- 이전 컨테이너 재시작
- 중복된 사용자 이름(또는 대소문자가 달라서 중복으로 간주되는 사용자)을 이름 변경하여 손상된 인덱스 문제 해결
- 모든 인덱스가 정상적으로 복구되었는지 확인하기 위해 사용자 테이블에 인덱스 생성
- PostgreSQL 13 업데이트에 설명된 대로 PostgreSQL 12 템플릿으로 변경
- 업그레이드를 위해 재빌드
- 정상적으로 작동하면 템플릿을 원래대로 되돌리고 업그레이드를 완료
- 사용자 이름(
username)뿐만 아니라username_lower도 업데이트해야 한다는 점에 유의
어제 해결한 사례에는 2020년 2월로 거슬러 올라가는 중복 사용자 이름이 있었기 때문에, 이전 데이터베이스를 복원하여 이 문제를 해결하려고 하지 않는 것이 좋습니다.
이를 해결하려면 PostgreSQL 명령줄을 사용하여 레코드를 수정하는 방법, 데이터베이스를 재빌드하는 방법, 그리고 PostgreSQL 13 업그레이드 과정에서 발생하는 복잡하지만 잘 문서화된 문제들을 다루는 방법을 이해해야 합니다.
예산이 500달러 정도 있다면 저에게 연락하실 수 있습니다. 연락처는 프로필에 기재되어 있습니다.