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
にある別個のモジュールのようです。
これに続いて 設定例 、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
'';