Cara mengkonfigurasi PostgreSQL untuk menerima semua koneksi masuk

106

Saya memiliki basis data PostgreSQL yang ingin saya konfigurasikan untuk menerima semua koneksi masuk terlepas dari alamat IP sumbernya. Bagaimana ini bisa dikonfigurasi di file pg_hba.conf? Saya menggunakan postgreSQL versi 8.4.

Fergal
sumber

Jawaban:

216

Gunakan saja 0.0.0.0/0.

host    all             all             0.0.0.0/0            md5

Pastikan listen_addressesin postgresql.conf(atau ALTER SYSTEM SET) memungkinkan koneksi masuk pada semua antarmuka IP yang tersedia.

listen_addresses = '*'

Setelah perubahan, Anda harus memuat ulang konfigurasi. Salah satu cara untuk melakukannya adalah menjalankan ini SELECTsebagai pengguna super.

SELECT pg_reload_conf();
Frank Heikens
sumber
apakah ini benar-benar berfungsi dengan tipe md5? Saya pikir akan perlu menggunakan tipe trust...
Dan LaRocque
5
"kepercayaan" memungkinkan semua pengguna terhubung tanpa kata sandi. Itu adalah sesuatu yang tidak akan saya gunakan, kata sandi adalah kata sandi minimum yang harus selalu Anda gunakan. Bahkan di komputer Anda sendiri.
Frank Heikens
1
ah, saya membaca pertanyaan secara berbeda - saya pikir maksudnya menerima koneksi dari semua klien tanpa syarat (untuk beberapa testbed yang tidak penting, mungkin). saya melihat apa yang Anda dapatkan sekarang.
Dan LaRocque
6
CATATAN : Jika jaringan Anda adalah IPv6, Anda harus menggunakan ::/0sebagai kebalikan dari 0.0.0.0/0saat memodifikasi file pg_hba.conf.
Aron Boyette
2
Pastikan postgresmemiliki sandi yang kuat: sudo -u postgres psql, \password.
Adobe
47

0.0.0.0/0 untuk semua alamat IPv4

::0/0 untuk semua alamat IPv6

all untuk mencocokkan alamat IP apa pun

samehost untuk mencocokkan salah satu alamat IP server itu sendiri

samenet untuk mencocokkan alamat apa pun di subnet mana pun yang terhubung langsung dengan server.

misalnya

host    all             all             0.0.0.0/0            md5
Owen Pauling
sumber
0

Konfigurasi semua file dengan postgres 12 di centos:

langkah 1: cari dan edit file

sudo vi /var/lib/pgsql/12/data/pg_hba.conf

tekan "i" dan pada baris perubahan IPv4

host    all             all             0.0.0.0/0            md5

langkah 2: cari dan edit file postgresql.conf

sudo vi /var/lib/pgsql/12/data/postgresql.conf

tambahkan baris terakhir: listen_addresses = '*': wq! (simpan file) - langkah 3: mulai ulang

systemctl restart postgresql-12.service
trithucsv.dll
sumber
-6

Tambahkan baris ini ke pg_hba.conf dari folder postgres

host    all    all    all    trust

"kepercayaan" memungkinkan semua pengguna terhubung tanpa kata sandi.

Tamu
sumber
Bisakah Anda menambahkan beberapa komentar ke kode? Di mana menaruhnya dan bagaimana cara kerjanya?
Alistra
4
Meskipun cuplikan kode ini diterima, dan mungkin memberikan sedikit bantuan, akan sangat ditingkatkan jika menyertakan penjelasan tentang bagaimana dan mengapa ini menyelesaikan masalah. Ingatlah bahwa Anda menjawab pertanyaan untuk pembaca di masa depan, bukan hanya orang yang bertanya sekarang! Harap edit jawaban Anda untuk menambahkan penjelasan, dan berikan indikasi batasan dan asumsi apa yang berlaku.
Toby Speight
memungkinkan koneksi dari semua ips benar-benar tidak aman
sandes