Tôi muốn cho phép một người dùng PostgreSQL (siêu) được xác thực bằng các phương thức xác thực "ngang hàng" hoặc "md5", tốt nhất là sử dụng các ổ cắm tên miền Unix cục bộ trong cả hai trường hợp. Vấn đề là thứ tự của các mục trong pg_hba.conf có vấn đề và trận đấu đầu tiên sẽ được áp dụng.
Tôi có gì:
# TYPE DATABASE USER ADDRESS METHOD
local all harold peer
local all all md5
Những gì tôi muốn (cú pháp không hợp lệ):
# TYPE DATABASE USER ADDRESS METHOD
local all harold peer-or-md5
local all all md5
Dưới đây là một số chi tiết khác về môi trường chúng tôi muốn sử dụng trong:
Trên máy chủ cụ thể này, tất cả các cơ sở dữ liệu tương đối nhỏ (<10 MB dữ liệu mỗi dữ liệu) và hoàn toàn chỉ đọc. Chúng được thả và tái tạo mỗi đêm bởi siêu người dùng bị quấy rối. harold cũng là một tài khoản hệ thống, do đó, "ngang hàng" hoạt động độc đáo cho các cronjobs không mật khẩu, v.v. khách thăm quan). Bây giờ tôi cũng muốn cho phép người dùng harold đăng nhập qua giao diện web. Điều này không thành công vì cài đặt "ngang hàng" cho harold.
Cách giải quyết hiện tại là để cho giao diện web kết nối qua TCP, sử dụng
# TYPE DATABASE USER ADDRESS METHOD
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
ngoài các mục địa phương trong ví dụ đầu tiên. Điều này hoạt động, nhưng tôi cũng muốn sử dụng ổ cắm cục bộ ở đây - cho hiệu suất và vì cảm giác ruột mà dường như đó là điều đúng đắn.
Điều này có thể không? Có cách giải quyết nào tốt hơn cho chúng tôi không?