Khi bạn chỉ định:
psql -U user
nó kết nối thông qua UNIX Socket, theo mặc định sử dụng peerxác thực, trừ khi được quy định pg_hba.confkhác.
Bạn có thể chỉ định:
host database user 127.0.0.1/32 md5
host database user ::1/128 md5
để có được kết nối TCP / IP trên giao diện loopback (cả IPv4 và IPv6) cho chỉ định databasevà user.
Sau khi thay đổi, bạn phải khởi động lại postgres hoặc tải lại cấu hình của nó. Khởi động lại mà nên hoạt động trong các bản phân phối dựa trên RHEL / Debian hiện đại:
service postgresql restart
Tải lại nên hoạt động theo cách sau:
pg_ctl reload
nhưng lệnh có thể khác nhau tùy theo cấu hình PATH - bạn có thể phải chỉ định đường dẫn tuyệt đối, có thể khác nhau, tùy thuộc vào cách cài đặt postgres.
Sau đó, bạn có thể sử dụng:
psql -h localhost -U user -d database
để đăng nhập với điều đó userđể chỉ định databasequa TCP / IP.
md5là viết tắt của mật khẩu được mã hóa, trong khi bạn cũng có thể chỉ định passwordmật khẩu văn bản đơn giản trong khi ủy quyền. Hai tùy chọn này không phải là vấn đề lớn miễn là máy chủ cơ sở dữ liệu chỉ có thể truy cập cục bộ, không có quyền truy cập mạng.
Lưu ý quan trọng:
Thứ tự định nghĩa trong pg_hba.confcác vấn đề - quy tắc được đọc từ trên xuống dưới, như iptables, vì vậy bạn có thể muốn thêm các quy tắc được đề xuất bên trên quy tắc:
host all all 127.0.0.1/32 ident