"Discourse 2.9.0.beta10 - https://github.com/discourse/discourse version 8d3fe3ddc5d38ab02a8f5c6aed7ebf7a6bcfbfec">에서 생성된 데이터베이스를 복원하려고 시도하고 있으며, 대상은 Discourse 2.9.0.beta12 - https://github.com/discourse/discourse version d4371a9ffcc6c727105a880b4b70c715ed0283cb">입니다. 양쪽 모두 RDS Postgres 13.7을 사용하고 있습니다. 압축되지 않은 데이터베이스 크기는 126GB로, 30GB인 압축 데이터베이스를 복원하려면 200GB 디스크가 필요하다고 생각하며 며칠을 보낸 끝에 다음과 같은 오류가 발생했습니다:
...
SET
CREATE TYPE
ERROR: function "entity2char" already exists with same argument types
EXCEPTION: psql failed: ERROR: function "entity2char" already exists with same argument types
/var/www/discourse/lib/backup_restore/database_restorer.rb:92:in `restore_dump'
/var/www/discourse/lib/backup_restore/database_restorer.rb:26:in `restore'
/var/www/discourse/lib/backup_restore/restorer.rb:51:in `run'
...
"entity2char" already exists를 검색해도 아무 결과가 없으며, 코어나 플러그인 어디에서도 entity2char를 찾을 수 없습니다. retort에서도 찾지 못했는데, 이쪽을 원인으로 의심했지만 제거해도 문제가 해결되지 않았습니다.
현재 사용 중인 플러그인은 다음과 같습니다:
- git clone https://github.com/discourse/discourse-adplugin.git
- git clone https://github.com/discourse/discourse-affiliate.git
- git clone https://github.com/discourse/discourse-bbcode.git
- git clone https://github.com/discourse/discourse-canned-replies.git
- git clone https://github.com/discourse/discourse-data-explorer.git
- git clone https://github.com/discourse/discourse-prometheus.git
- git clone https://github.com/discourse/discourse-push-notifications.git
- git clone https://github.com/discourse/discourse-signatures.git
- git clone https://github.com/discourse/discourse-user-notes.git
- git clone https://github.com/discourse/discourse-spoiler-alert.git
- git clone https://github.com/discourse/discourse-cakeday.git
- git clone https://github.com/discourse/discourse-checklist.git
- git clone https://github.com/discourse/discourse-calendar.git
- git clone https://github.com/discourse/discourse-reactions.git
백업을 만든 데이터베이스에서 entity2char 함수를 찾아보려 했지만 찾을 수 없었습니다.