sudo -s를 실행한 후 d/rake db:drop db:create db:migrate를 실행했는데, 다음과 같은 오류가 발생했습니다:
PG::InsufficientPrivilege: ERROR: must be owner of database discourse_development
Couldn't drop database 'discourse_development'
rake aborted!
ActiveRecord::StatementInvalid: PG::InsufficientPrivilege: ERROR: must be owner of database discourse_development
Caused by:
PG::InsufficientPrivilege: ERROR: must be owner of database discourse_development
Tasks: TOP => db:drop:_unsafe
(See full trace by running task with --trace)
지금까지 도와주셔서 감사합니다! psql 문제를 더 깊이 파고들기 전에 한 발짝 물러서서 상황을 정리하고 싶습니다. 제 주된 목표는 Ubuntu에서 Discourse docker 개발 환경(stable 버전)을 실행하는 것인데, Mac에서는 정상적으로 잘 동작하고 있습니다. 이러한 테이블 및 마이그레이션 오류 없이 이 작업을 수행할 수 있지 않나요? 클린 설치를 시도하면 북마크 오류가 발생하고, 그 문제를 해결한 후에는 NoMethodError가 발생하며, 지금은 InsufficientPrivilege 오류가 발생합니다.
처음에는 test-passed를 사용하다가 stable로 전환하면서 문제가 생긴 줄 알았는데, 이전에 존재하던 데이터베이스가 없는 완전히 깨끗한 Ubuntu 인스턴스에서도 NoMethodError가 여전히 발생합니다. 여기 있는 1단계와 2단계만 수행했을 뿐입니다:
답변 주셔서 감사합니다! 하지만 unfortunately 동일한 문제를 계속 겪고 있습니다:
d/bundle exec rake db:drop db:create db:migrate
PG::InsufficientPrivilege: ERROR: must be owner of database discourse_development
Couldn't drop database 'discourse_development'
rake aborted!
ActiveRecord::StatementInvalid: PG::InsufficientPrivilege: ERROR: must be owner of database discourse_development
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Caused by:
PG::InsufficientPrivilege: ERROR: must be owner of database discourse_development
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tasks: TOP => db:drop:_unsafe
(See full trace by running task with --trace)
초보자 가이드를 사용하여 빈 인스턴스(처음부터 재시작, 기존 DB나 정보 없음)에서 시도해 보았지만 동일한 결과가 나옵니다.
그렇다면 다른 방법으로 데이터베이스를 삭제해야 합니다. postgres에 관한 정보를 구글에서 검색해 볼 수 있습니다(저는 할 일이 생길 때 그렇게 합니다) 아니면, 이 게시판에 올릴 수 있는 누군가가 기억나길 기다릴 수도 있습니다. 다른 옵션은 discourse 사용자가 데이터베이스를 삭제하고 생성할 권한을 가지고 있는지 확인하는 것입니다.