외부 Postgres 설정이 작동하지 않음

아래 블로그를 참고하여 Discourse를 설정하여 별도의 postgres(AWS RDS)를 사용하도록 했습니다.

./launcher rebuild app를 실행한 후 아래 오류(이미지 첨부)가 발생합니다:

Caused by:
PG::InvalidSchemaName: ERROR:  no schema has been selected to create in
LINE 1: CREATE TABLE "schema_migrations" ("version" character varyin...
                     ^
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.0.0/lib/patches/db/pg.rb:110:in `exec'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.0.0/lib/patches/db/pg.rb:110:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:48:in `block (2 levels) in execute'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.3/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.3/lib/active_support/dependencies/interlock.rb:41:in `permit_concurrent_loads'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:47:in `block in execute'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/abstract_adapter.rb:765:in `block in log'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.4.3/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/abstract_adapter.rb:756:in `log'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:46:in `execute'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/abstract/schema_statements.rb:325:in `create_table'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.3/lib/active_record/schema_migration.rb:23:in `create_table'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.3/lib/active_record/migration.rb:1259:in `initialize'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.3/lib/active_record/migration.rb:1117:in `new'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.3/lib/active_record/migration.rb:1117:in `up'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.3/lib/active_record/migration.rb:1092:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.4.3/lib/active_record/tasks/database_tasks.rb:262:in `migrate'
/var/www/discourse/lib/tasks/db.rake:246:in `block (2 levels) in <main>'
/var/www/discourse/lib/distributed_mutex.rb:53:in `block in synchroniz

대충 살펴본 바로는, 데이터베이스 서버는 만들었지만 discourse 데이터베이스는 만들지 않은 것일 수도 있습니다. 아니면 설정에 데이터베이스 이름을 입력하지 않은 것일 수도 있고요.

app.yml의 DB 설정은 다음과 같습니다:

env:
DISCOURSE_DB_USERNAME: discourse
DISCOURSE_DB_PASSWORD: “XXX”
DISCOURSE_DB_HOST: xxx.rds.amazonaws.com
DISCOURSE_DB_NAME: discourse

pgAdmin을 사용하여 이 DB에 연결할 수 있습니다. discourse를 위해 이 DB에서 아래 명령어를 실행했습니다:

CREATE USER discourse PASSWORD ‘XXX’;
CREATE DATABASE discourse OWNER discourse;

CREATE EXTENSION hstore;
CREATE EXTENSION pg_trgm;

이 문제에 대해 도움을 주세요.

안녕하세요 @deepak_b :slight_smile:

해당 게시물을 해결책으로 표시하셨네요. 문제가 해결되었나요? 해결하셨다면, 어떻게 해결했는지 공유해 주실 수 있을까요? 이렇게 하면 나중에 다른 분들에게도 도움이 될 수 있습니다.