nixosでpostgres認証設定を構成する方法は?

nixosでpostgres認証設定を構成する方法は?

psql: FATAL: Peer authentication failed for user "postgres"nixos では、次のエラーのような postgres エラーが発生します。この問題答えに記載されているように、問題を解決するために認証設定を編集したいと思います。

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

pg_hba.confこのファイルの認証設定を編集して、Ubuntuで以前と同じエラーを解決しました。しかし今私の問題はpg_hba.confnixosにはそのようなエディタがないようです。

nixosで対応するpostgres認証設定を変更するには?

私は気づいたこれgithubのpostgres.nixファイルには何かをしているように見えるか、少なくともpg_hba.confその文字列が含まれていますが、認証設定を変更する方法を理解できません。また、私は1つの基本設定ファイルしか使用していません/etc/nixos/configuration.nixnixos/modules/services/databases/postgresql.nix

答え1

これに従ってください構成例、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
    '';

関連情報