Tetapan untuk membenarkan PC lain menyambung ke pangkalan data PostgreSQL (versi Windows)

Laman dikemaskini :
Tarikh penciptaan halaman :

Persekitaran operasi

PostgreSQL
  • PostgreSQL 15
Windows (Pelayan)
  • Windows Server 2019
Windows (Pelanggan)
  • Windows 11

Prasyarat

Windows
  • Windows Server 2019
  • Windows Server 2016
  • Versi lain mungkin berfungsi, tetapi tidak disokong secara rasmi.

Firewall

Dalam Windows, tembok api menghalang sambungan selain daripada port standard. Ia mesti dikonfigurasikan untuk dapat menyambung pada port untuk menyambung ke PostgreSQL.

Selepas log masuk ke persekitaran Windows bahagian pelayan, taip "tembok api" daripada menu mula dan pilih Buka Windows Defender Firewall dengan Keselamatan Lanjutan.

Apabila skrin dibuka, pilih "Peraturan Masuk" daripada menu di sebelah kiri, dan klik "Peraturan Baru..." daripada menu di sebelah kanan.

Untuk Jenis Peraturan, pilih Port.

Untuk Protokol dan Port, pilih TCP sebagai protokol. Untuk port, masukkan lalai 5432. Jika anda menentukan nombor port yang berbeza dalam pemasangan PostgreSQL anda, masukkan nombor port tersebut.

Untuk "Tindakan", pilih "Benarkan sambungan".

Dalam "Profil", semak "Domain" dan "Peribadi". Saya rasa tidak mungkin anda akan membiarkan pangkalan data diakses dalam persekitaran "awam" yang akan membolehkan orang yang tidak ditentukan mengaksesnya.

Masukkan nama dan perihalan pilihan. Sila masukkan supaya mudah difahami tujuan membuka pelabuhan.

Setelah ditambah, ia akan muncul dalam senarai.

postgresql.conf

Semak tetapan dalam postgresql.conf. Saya rasa anda tidak perlu mengubahnya dalam versi 15.

Terdapat fail di lokasi berikut, jadi buka dengan aplikasi notepad. Sila semak laluan kerana ia berbeza-beza bergantung pada versi.

C:\Program Files\PostgreSQL\15\data\postgresql.conf

listen_addresses Cari parameter yang dipanggil. Anda tidak perlu mengubahnya jika ia ditetapkan seperti berikut:

listen_addresses = '*'

pg_hba.conf

Secara lalai, pangkalan data hanya boleh diakses daripada persekitaran tempatan.

Terdapat fail di lokasi berikut, jadi buka dengan aplikasi notepad. Sila semak laluan kerana ia berbeza-beza bergantung pada versi.

C:\Program Files\PostgreSQL\15\data\pg_hba.conf

Terdapat kemungkinan anda mungkin membuat kesilapan dalam membetulkannya, jadi sila salin dan sandarkan fail sebelum mengubahnya untuk berjaga-jaga.

Jika anda menatal ke bawah, anda akan menemui baris berikut: Ini menunjukkan bahawa IPv4 hanya boleh diakses secara tempatan.

# TYPE  DATABASE        USER            ADDRESS                 METHOD
  :
host    all             all             127.0.0.1/32            scram-sha-256
  :

Tetapkan ALAMAT ini kepada satu atau julat supaya ia boleh diakses daripada PC lain. Nilai yang anda tetapkan bergantung pada rangkaian yang anda bina. Jika anda tidak pasti, sila 0.0.0.0/0 benarkan semua dengan atau taip samenet untuk membenarkan semua julat rangkaian yang sama dengan pelayan.

Contoh Konfigurasi

# TYPE  DATABASE        USER            ADDRESS                 METHOD
  :
host    all             all             192.168.0.0/24          scram-sha-256
  :

Mulakan semula perkhidmatan

pg_hba.conf Fail konfigurasi ini hanya dibaca apabila PostgreSQL dimulakan, jadi anda perlu memulakan semula perkhidmatan. Dengan cara ini, ia dimuatkan apabila PostgreSQL bermula, jadi jika anda memulakan semula Windows, ia akan dimuatkan pada masa itu.

Selepas membuka menu mula, taip "perkhidmatan" untuk melancarkannya.

Cari dan pilih "postgresql-x64-15 - PostgreSQL Server 15" daripada senarai tengah. Ambil perhatian bahawa nama akan berbeza-beza bergantung pada versi. Setelah dipilih, klik "Mulakan semula Perkhidmatan" dari kiri.

Menyemak sambungan daripada PC lain

Mari lihat sama ada kita boleh menyambung ke pangkalan data daripada PC lain. Maklumat destinasi sambungan berbeza-beza bergantung pada persekitaran, jadi hanya prosedur yang diterangkan di sini. Saya menggunakan pgAdmin untuk menyambung kali ini, tetapi saya rasa anda boleh berhubung dengan alat akses pangkalan data lain juga.

Selepas memulakan pgAdmin pada PC klien yang berasingan daripada pelayan pangkalan data, klik kanan pada Pelayan dan pilih "Daftar > Pelayan...".

Pada tab Umum, Nama hendaklah nama yang akan membantu anda mengenal pasti pelayan.

Pilih tab Sambungan. Masukkan "Nama / alamat hos", "Data penyelenggaraan", "Nama pengguna", dan "Kata Laluan". Jika anda tidak mahu memasukkan kata laluan setiap kali, hidupkan "Simpan kata laluan". Dengan cara ini, pdAdmin mungkin tidak dapat menyelesaikan nama Hos, jadi dalam kes itu, tentukan alamat IP secara langsung.

Isikan medan input lain mengikut keperluan. Apabila anda selesai, klik butang "Simpan".

Jika anda boleh menyambung ke pangkalan data pelayan sasaran, pengesahan telah selesai.