Instellingen om andere pc's toe te staan verbinding te maken met de PostgreSQL-database (Windows-versie)

Pagina bijgewerkt :
Aanmaakdatum van pagina :

Werkomgeving

PostgreSQL
  • PostgreSQL 15
Windows (server)
  • Windows Server 2019
Windows (Client)
  • Windows 11

Voorwaarden

Ramen
  • Windows Server 2019
  • Windows Server 2016
  • Andere versies kunnen werken, maar worden niet officieel ondersteund.

firewall

In Windows voorkomen firewalls verbindingen anders dan standaardpoorten. Het moet worden geconfigureerd om verbinding te kunnen maken op de poort om verbinding te maken met PostgreSQL.

Nadat u bent ingelogd op de Windows-omgeving aan de serverzijde, typt u "firewall" in het startmenu en selecteert u Open Windows Defender Firewall met geavanceerde beveiliging.

Wanneer het scherm wordt geopend, selecteert u "Inkomende regels" in het menu aan de linkerkant en klikt u op "Nieuwe regel..." in het menu aan de rechterkant.

Selecteer bij Regeltype de optie Poort.

Selecteer bij Protocol en Poort TCP als het protocol. Voer voor de poort de standaardwaarde van 5432 in. Als je een ander poortnummer hebt opgegeven in je PostgreSQL-installatie, voer je dat poortnummer in.

Selecteer bij "Actie" "Verbinding toestaan".

Vink in "Profiel" "Domein" en "Privé" aan. Ik denk dat het onwaarschijnlijk is dat je een database toegankelijk maakt in een "openbare" omgeving die niet-gespecificeerde mensen toegang geeft.

Voer eventueel een naam en beschrijving in. Voer het zo in dat het doel van het openen van de poort gemakkelijk te begrijpen is.

Eenmaal toegevoegd, verschijnt het in de lijst.

postgresql.conf

Controleer de instellingen in postgresql.conf. Ik denk niet dat je het in versie 15 hoeft te veranderen.

Er is een bestand op de volgende locatie, dus open het met een kladbloktoepassing. Controleer het pad, want dit varieert afhankelijk van de versie.

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

listen_addresses Zoek naar de parameter die wordt aangeroepen. U hoeft het niet te wijzigen als het als volgt is ingesteld:

listen_addresses = '*'

pg_hba.conf

Standaard is de database alleen toegankelijk vanuit de lokale omgeving.

Er is een bestand op de volgende locatie, dus open het met een kladbloktoepassing. Controleer het pad, want dit varieert afhankelijk van de versie.

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

Het is mogelijk dat u een fout maakt bij het corrigeren, dus kopieer en maak een back-up van het bestand voordat u het wijzigt voor het geval dat.

Als je naar beneden scrolt, vind je de volgende regels: Dit geeft aan dat IPv4 alleen lokaal toegankelijk is.

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

Stel dit ADRES in op een enkel of bereik zodat het toegankelijk is vanaf andere pc's. De waarde die u instelt, is afhankelijk van het netwerk dat u aan het bouwen bent. Als u het niet zeker weet, sta dan 0.0.0.0/0 alles toe met of samenet type om het hele bereik van hetzelfde netwerk als de server toe te staan.

Voorbeelden van configuraties

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

Start de service opnieuw

pg_hba.conf Deze configuratiebestanden worden alleen gelezen wanneer PostgreSQL wordt gestart, dus u moet de service opnieuw opstarten. Trouwens, het wordt geladen wanneer PostgreSQL start, dus als je Windows opnieuw opstart, wordt het op dat moment geladen.

Typ na het openen van het startmenu "services" om het te starten.

Zoek en selecteer "postgresql-x64-15 - PostgreSQL Server 15" uit de middelste lijst. Houd er rekening mee dat de naam varieert afhankelijk van de versie. Eenmaal geselecteerd, klikt u op "Service opnieuw opstarten" aan de linkerkant.

De verbinding vanaf andere pc's controleren

Laten we eens kijken of we vanaf een andere pc verbinding kunnen maken met de database. De informatie over de verbindingsbestemming varieert afhankelijk van de omgeving, dus alleen de procedure wordt hier beschreven. Ik gebruik pgAdmin om deze keer verbinding te maken, maar ik denk dat je ook verbinding kunt maken met andere tools voor databasetoegang.

Na het starten van pgAdmin op een client-pc die gescheiden is van de databaseserver, klikt u met de rechtermuisknop op Servers en selecteert u "Registreren > server...".

Op het tabblad Algemeen moet de naam een naam zijn waarmee u de server kunt identificeren.

Selecteer het tabblad Verbinding. Voer "Hostnaam/adres", "Onderhoudsgegevens", "Gebruikersnaam" en "Wachtwoord" in. Als u het wachtwoord niet elke keer wilt invoeren, schakelt u 'Wachtwoord opslaan' in. Trouwens, pdAdmin is mogelijk niet in staat om de naam van Host op te lossen, dus geef in dat geval het IP-adres direct op.

Vul indien nodig de andere invoervelden in. Als u klaar bent, klikt u op de knop "Opslaan".

Als u verbinding kunt maken met de database van de doelserver, is de verificatie voltooid.