이 코드를 실행했을 때 정상적으로 작동하는 것처럼 보였지만, 실제로는 웹서버가 작동하지 않아서 문제가 발생했으며, 이런 방식으로는 원인을 파악할 수 없습니다. 컨테이너에 진입하여 이 코드를 실행하면 nginx가 실행 중인지 확인할 수 있습니다:
nginx -t
하지만 이 주제에서 제기된 문제에 대해선, 상대방의 메시지 내용을 복사해서 답변하는 방식으로 해결하고 싶습니다. nginx 문제는 완전히 별개의 사안이며, 저는 새로운 설치 환경에서 별도의 도메인으로 테스트하고 있습니다. 만약 다시 오류가 발생한다면, 별도의 이슈를 열어 보고하겠습니다.
제목에 언급된 백업이 작동하지 않는 문제는 더 이상 사용되지 않는 테이블이나 레코드 때문에 발생합니다. 채팅봇 플러그인이 더 이상 사용하지 않는 레코드였을 것으로 생각되는데, 업데이트 과정에서 삭제되지 않은 것 같습니다. 플러그인 개발자분이 이 문제를 해결하셨을 것으로 생각되니 안심하셔도 될 것 같습니다
저는 오류가 발생한 줄을 삭제하고 다시 패키징한 후 관리자 패널에서 설치했는데, 아무 문제 없이 작동합니다. 또는 서버에서 직접 다운로드할 수도 있습니다:
손상된 플러그인 파일 수정 방법 설명:
- 백업 파일 압축 해제:
tar -xvzf foo.tar.gz - dump.sql 파일 압축 해제
- 원치 않는 인덱스를 생성하는 문제 있는 줄 제거:
–
– TOC entry 8020 (class 1259 OID 84313)
– Name: hnsw_index_on_chatbot_post_embeddings; Type: INDEX; Schema: public; Owner: -
–
CREATE INDEX hnsw_index_on_chatbot_post_embeddings ON public.chatbot_post_embeddings_old USING hnsw (embedding) WITH (dims='1536', m='64', efconstruction='64', efsearch='64');
- dump.sql 파일 다시 압축
- uploads 폴더와 동일한 디렉터리에 합치기
- 전체를 다시 tar.gz로 압축
- 이 파일을 수동으로 복원
다른 테이블에 대한 오류가 발생한다면, 위에서 설명한 방법을 사용하여 해당 레코드가 포함된 테이블을 삭제하면 해결될 것이라고 생각합니다.
많은 정성을 들여 구축하고 성장하기 시작한 제 사이트가 이틀 동안 다운되었습니다. 밤샘과 하루의 수고를 잊어서는 안 됩니다. 언제든 이런 일이 우리에게 일어날 수 있습니다. 백업을 만들고, 그 백업이 정상적으로 작동하는지 꼭 확인하세요. 이 과정 동안 도와주신 제 형 @merefield님께 감사의 인사를 전하고 싶습니다. 우리는 함께 새로운 것을 배웠습니다.