如何在 nixos 中配置 postgres 的授权设置?

mhe*_*rzl 8 configuration postgresql nixos

在 nixos 上,我面临psql: FATAL: Peer authentication failed for user "postgres"此问题类似的 postgres 错误,并希望编辑身份验证设置以解决该问题,如此处的答案所述:

编辑 pg_hba.conf 以对 unix 套接字(本地连接类型)使用 md5 密码身份验证而不是对等身份验证,以便 Pg 接受密码身份验证

我以前在 ubuntu 上通过编辑该pg_hba.conf文件中的授权配置解决了这个相同的错误。但我现在的问题是nixos 似乎没有这样的pg_hba.conf编辑。

如何在nixos中进行相应的postgres授权配置更改?

我注意到github 上的这个postgres.nix 文件似乎对pg_hba.conf. 此外,我只使用了一个主配置文件/etc/nixos/configuration.nix,这似乎是一个单独的模块,位于nixos/modules/services/databases/postgresql.nix.

mhe*_*rzl 8

按照这个示例配置,我设置了 NixOS 选项services.postgresql.authentication

当我的 postgres 部分/etc/nixos/configuration.nix设置为时,我设法克服了“对等身份验证失败”错误

  # 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
    '';
Run Code Online (Sandbox Code Playgroud)

  • 这仍然有效。 (3认同)