Ustawienia zezwalające innym komputerom na łączenie się z bazą danych PostgreSQL (wersja dla systemu Windows)

Strona zaktualizowana :
Data utworzenia strony :

Środowisko pracy

PostgreSQL
  • PostgreSQL 15
Windows (serwer)
  • Windows Server 2019
Windows (klient)
  • Okna 11

Warunki wstępne

Windows
  • Windows Server 2019
  • Windows Server 2016
  • Inne wersje mogą działać, ale nie są oficjalnie obsługiwane.

zapora

W systemie Windows zapory uniemożliwiają połączenia inne niż standardowe porty. Musi być skonfigurowany tak, aby można było nawiązać połączenie na porcie w celu nawiązania połączenia z bazą danych PostgreSQL.

Po zalogowaniu się do serwerowego środowiska Windows należy z menu start wpisać "firewall" i wybrać Otwórz Zaporę systemu Windows Defender z zabezpieczeniami zaawansowanymi.

Gdy otworzy się ekran, wybierz "Reguły przychodzące" z menu po lewej stronie i kliknij "Nowa reguła..." w menu po prawej stronie.

W polu Typ reguły wybierz pozycję Port.

W polu Protocol and Port (Protokół) wybierz TCP (TCP) jako protokół. Dla portu wprowadź wartość domyślną 5432. Jeśli w instalacji PostgreSQL określono inny numer portu, wprowadź ten numer portu.

W polu "Akcja" wybierz "Zezwalaj na połączenie".

W polu "Profil" zaznacz "Domena" i "Prywatny". Myślę, że jest mało prawdopodobne, że pozwolisz na dostęp do bazy danych w "publicznym" środowisku, które pozwoli nieokreślonym osobom na dostęp do niej.

Wprowadź opcjonalną nazwę i opis. Wprowadź go, aby łatwo było zrozumieć cel otwarcia portu.

Po dodaniu pojawi się na liście.

postgresql.conf powiedział:

Sprawdź ustawienia w postgresql.conf. Myślę, że nie musisz tego zmieniać w wersji 15.

W poniższej lokalizacji znajduje się plik, więc otwórz go za pomocą aplikacji do notatnika. Sprawdź ścieżkę, ponieważ różni się ona w zależności od wersji.

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

listen_addresses Poszukaj wywołanego parametru. Nie musisz go zmieniać, jeśli jest ustawiony w następujący sposób:

listen_addresses = '*'

pg_hba.conf

Domyślnie dostęp do bazy danych można uzyskać tylko ze środowiska lokalnego.

W poniższej lokalizacji znajduje się plik, więc otwórz go za pomocą aplikacji do notatnika. Sprawdź ścieżkę, ponieważ różni się ona w zależności od wersji.

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

Istnieje możliwość, że popełnisz błąd podczas poprawiania, więc na wszelki wypadek skopiuj i wykonaj kopię zapasową pliku przed jego zmianą.

Jeśli przewiniesz w dół, znajdziesz następujące linie: Oznacza to, że dostęp do protokołu IPv4 jest możliwy tylko lokalnie.

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

Ustaw ten ADRES na pojedynczy lub zakres, aby można było uzyskać do niego dostęp z innych komputerów. Wartość, którą ustawisz, zależy od sieci, którą budujesz. Jeśli nie masz pewności, zezwól 0.0.0.0/0 wszystkim z lub samenet Wpisz, aby zezwolić na cały zasięg tej samej sieci co serwer.

Przykłady konfiguracji

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

Uruchom ponownie usługę

pg_hba.conf Te pliki konfiguracyjne są odczytywane tylko wtedy, gdy uruchamiany jest PostgreSQL, więc należy ponownie uruchomić usługę. Nawiasem mówiąc, jest ładowany podczas uruchamiania PostgreSQL, więc jeśli ponownie uruchomisz system Windows, zostanie załadowany w tym czasie.

Po otwarciu menu Start wpisz "usługi", aby je uruchomić.

Znajdź i wybierz "postgresql-x64-15 - PostgreSQL Server 15" ze środkowej listy. Pamiętaj, że nazwa będzie się różnić w zależności od wersji. Po wybraniu kliknij "Uruchom ponownie usługę" po lewej stronie.

Sprawdzanie połączenia z innymi komputerami

Zobaczmy, czy możemy połączyć się z bazą danych z innego komputera. Informacje o miejscu docelowym połączenia różnią się w zależności od środowiska, dlatego w tym miejscu opisano tylko procedurę. Tym razem używam pgAdmin do połączenia, ale myślę, że możesz również połączyć się z innymi narzędziami do uzyskiwania dostępu do bazy danych.

Po uruchomieniu pgAdmin na komputerze klienckim oddzielonym od serwera bazy danych, kliknij prawym przyciskiem myszy na Serwery i wybierz "Zarejestruj > serwer...".

Na karcie Ogólne nazwa powinna być nazwą, która pomoże Ci zidentyfikować serwer.

Wybierz kartę Połączenie. Wprowadź "Nazwa/adres hosta", "Konserwacja bazy danych", "Nazwa użytkownika" i "Hasło". Jeśli nie chcesz za każdym razem wpisywać hasła, włącz opcję "Zapisz hasło". Nawiasem mówiąc, pdAdmin może nie być w stanie rozpoznać nazwy hosta, więc w takim przypadku określ adres IP bezpośrednio.

W razie potrzeby wypełnij pozostałe pola wejściowe. Kiedy skończysz, kliknij przycisk "Zapisz".

Jeśli możesz połączyć się z bazą danych serwera docelowego, weryfikacja została zakończona.