web-dev-qa-db-ja.com

nixosでpostgresの認証設定を構成するにはどうすればよいですか?

Nixosで、 この質問 と同様のpostgresエラーpsql: FATAL: Peer authentication failed for user "postgres"のエラーに直面し、認証設定を編集して、そこの回答に記載されている問題を解決したいと思います。

pg_hba.confを編集して、UNIXソケット(ローカル接続タイプ)のピア認証の代わりにmd5パスワード認証を使用し、Pgがパスワード認証を受け入れるようにします。

以前、ubuntuでpg_hba.confファイルの承認設定を編集することで、この同じエラーを解決しました。しかし、今の私の問題は、nixosがそのようなpg_hba.confを編集するように見えないことです。

ニクソスで対応するpostgres承認構成を変更するにはどうすればよいですか?

Githubの this postgres.nixファイルがpg_hba.confで何かをしているように見える、または少なくとも文字列を含んでいることに気付きましたが、認証設定をそこから変更する方法がわかりません。また、私は1つのメイン構成ファイル/etc/nixos/configuration.nixのみを使用しており、これはnixos/modules/services/databases/postgresql.nixにある別個のモジュールのようです。

6
mherzl

これに続いて 設定例 、NixOSオプションservices.postgresql.authenticationを設定します。

私の/etc/nixos/configuration.nixのpostgresセクションが

  # postgres
  services.postgresql.enable = true;
  services.postgresql.package = pkgs.postgresql94;
  services.postgresql.authentication = lib.mkForce ''
    # Generated file; do not edit!
    # TYPE  DATABASE        USER            ADDRESS                 METHOD
    local   all             all                                     trust
    Host    all             all             127.0.0.1/32            trust
    Host    all             all             ::1/128                 trust
    '';
7
mherzl