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 peer
xác thực, trừ khi được quy định pg_hba.conf
khá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 database
và 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 database
qua TCP / IP.
md5
là viết tắt của mật khẩu được mã hóa, trong khi bạn cũng có thể chỉ định password
mậ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.conf
cá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