Como configuro as configurações de autorização do postgres no nixos?

3

No nixos, enfrento um erro de postgres psql: FATAL: Peer authentication failed for user "postgres" de erro semelhante para esta pergunta , e gostaria de editar as configurações de autenticação para resolver o problema, conforme descrito em uma resposta:

edit pg_hba.conf to use md5 password authentication instead of peer authentication for unix sockets (local connection type) so Pg accepts password authentication

Eu já resolvi este mesmo erro anteriormente no Ubuntu, editando a configuração de autorização nesse arquivo pg_hba.conf . Mas meu problema agora é que nixos não parece ter tal pg_hba.conf para editar.

Como faço a alteração da configuração de autorização do postgres correspondente no nixos?

Eu notei que este arquivo postgres.nix no github que aparece para fazer algo com pg_hba.conf , ou pelo menos contém a string, mas eu não entendo como alterar minhas configurações de autenticação a partir disso. Também usei apenas o arquivo de configuração principal /etc/nixos/configuration.nix e este parece ser um módulo separado, em nixos/modules/services/databases/postgresql.nix .

    
por mherzl 15.07.2017 / 21:38

1 resposta

4

Seguindo esta configuração de exemplo , eu defino a opção NixOS services.postgresql.authentication .

Consegui passar do erro de "falha na autenticação de peer" quando a seção postgres do meu /etc/nixos/configuration.nix foi definida como

  # 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
    '';
    
por 15.07.2017 / 23:59