psql: FATAL: Peer authentication failed for user "postgres"
nixos에서는 다음 오류와 같은 postgres 오류가 발생합니다.이 문제답변에 언급된 대로 문제를 해결하기 위해 인증 설정을 편집하고 싶습니다.
Pg가 비밀번호 인증을 허용하도록 Unix 소켓(로컬 연결 유형)에 대한 피어 인증 대신 md5 비밀번호 인증을 사용하도록 pg_hba.conf를 편집합니다.
pg_hba.conf
이 파일의 인증 구성을 편집하여 우분투에서 이전에 동일한 오류를 해결했습니다. 하지만 지금 내 문제는pg_hba.conf
nixos에는 그런 편집기가 없는 것 같습니다 .
nixos에서 해당 postgres 인증 구성을 변경하는 방법은 무엇입니까?
나는 알아차렸다이것github의 postgres.nix 파일은 으로 뭔가를 하는 것 같 pg_hba.conf
거나 최소한 해당 문자열을 포함하고 있지만 인증 설정을 변경하는 방법을 이해할 수 없습니다. 또한 저는 하나의 기본 구성 파일만 사용하고 있는데 /etc/nixos/configuration.nix
, 이는 nixos/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
'';