クリーンな開発Docker環境でバックアップリストア失敗:FATAL: Peer authentication failed for user “postgres”

これは私には機能します。

しかし、他にもいくつかの修正方法があります。

  • Dockerブートイメージに環境設定 USER=discourse を追加する

  • d\\exec-e USER=discourse \\ を追加する

  • backup_restore.rb に以下を追加する

      if Rails.env.development?
        username = ENV["USER"] || "discourse"
      end
    

さらに、Docker開発環境で d/discourse を実行すると、新しい問題が発生します。

$ d/discourse backup

<internal:/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require': cannot load such file -- thor (LoadError)
        from <internal:/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
        from script/discourse:4:in `<main>'

一方、d/bundle exec script/discourse backup は機能します(パッチを参照)。