Câu trả lời:
Chỉ cần sử dụng 0.0.0.0/0.
host all all 0.0.0.0/0 md5
Đảm bảo listen_addressesin postgresql.conf(hoặc ALTER SYSTEM SET) cho phép các kết nối đến trên tất cả các giao diện IP khả dụng.
listen_addresses = '*'
Sau khi thay đổi, bạn phải tải lại cấu hình. Một cách để làm điều này là thực thi điều này SELECTvới tư cách là một siêu người dùng.
SELECT pg_reload_conf();
::/0trái ngược với 0.0.0.0/0khi sửa đổi tệp pg_hba.conf.
postgrescó mật khẩu mạnh: sudo -u postgres psql, \password.
0.0.0.0/0 cho tất cả các địa chỉ IPv4
::0/0 cho tất cả các địa chỉ IPv6
all để khớp với bất kỳ địa chỉ IP nào
samehost để khớp với bất kỳ địa chỉ IP nào của máy chủ
samenet để khớp với bất kỳ địa chỉ nào trong bất kỳ mạng con nào mà máy chủ được kết nối trực tiếp.
ví dụ
host all all 0.0.0.0/0 md5
Ngoài các câu trả lời tuyệt vời ở trên, nếu bạn muốn một số phạm vi IP được cấp phép, bạn có thể chỉnh sửa /var/lib/pgsql/{VERSION}/datatệp và đặt một cái gì đó như
host all all 172.0.0.0/8 trust
Nó sẽ chấp nhận các kết nối đến từ bất kỳ máy chủ nào trong phạm vi trên. Nguồn: http://www.linuxtopia.org/online_books/database_guides/Practical_PostgreSQL_database/c15679_002.htm
Định cấu hình tất cả các tệp với postgres 12 trên centos:
bước 1: tìm kiếm và chỉnh sửa tệp
sudo vi /var/lib/pgsql/12/data/pg_hba.conf
nhấn "i" và thay đổi IPv4 tại dòng
host all all 0.0.0.0/0 md5
bước 2: tìm kiếm và chỉnh sửa tệp postgresql.conf
sudo vi /var/lib/pgsql/12/data/postgresql.conf
thêm dòng cuối cùng: nghe_addresses = '*': wq! (lưu tệp) - bước 3: khởi động lại
systemctl restart postgresql-12.service
Thêm dòng này vào pg_hba.conf của thư mục postgres
host all all all trust
"trust" cho phép tất cả người dùng kết nối mà không cần mật khẩu.
md5không? Tôi nghĩ rằng nó sẽ là cần thiết để sử dụng loạitrust...