"Xác thực ngang hàng" có nghĩa là nó đang sử dụng một ổ cắm unix và mong muốn người dùng unix đang kết nối có cùng tên người dùng unix với tên người dùng postgresql.
Vì tên người dùng unix cục bộ của bạn là funkdified
và bạn đang cố gắng kết nối với tư cách người dùng goodsounds
qua ổ cắm miền unix (local
) kết nối nơi pg_hba.conf
của bạn chỉ định peer
xác thực, Pg từ chối chính xác nỗ lực kết nối của bạn.
Đây là hành vi mặc định cho nhiều lượt cài đặt khi sử dụng ổ cắm unix.
Bạn có thể:
- Kết nối qua TCP / IP bằng cách chỉ định tên máy chủ trong cài đặt kết nối cơ sở dữ liệu của bạn;
- chỉnh sửa
pg_hba.conf
để sử dụngmd5
xác thực mật khẩu thay vìpeer
xác thực cho các ổ cắm unix (local
loại kết nối) để Pg chấp nhận xác thực mật khẩu; hoặc - Kết nối với tên người dùng PostgreSQL giống với tên người dùng unix của bạn và tạo người dùng trong PostgreSQL nếu nó chưa tồn tại.
Xem tài liệu cho pg_hba.conf
và phần còn lại của chương xác thực ứng dụng khách của tài liệu.
Lưu ý rằng các thay đổi đối với pg_hba.conf
không có hiệu lực ngay lập tức, bạn phải khởi động lại hoặc ít nhất là tải lại PostgreSQL để đọc lại pg_hba.conf
.
Ngoài ra, nếu bạn đã cài đặt nhiều phiên bản PostgreSQL, bạn có thể có libpq từ phiên bản này và máy chủ từ phiên bản khác. Trong trường hợp này, hãy đảm bảo vị trí cho ổ cắm unix mà libpq kết nối theo mặc định giống với unix_socket_directories
của máy chủ hoặc ghi đè nó bằng (ví dụ) host=/tmp
trong chuỗi kết nối của bạn.