Inställningar för att tillåta andra datorer att ansluta till PostgreSQL-databasen (Windows-version)

Sidan uppdaterad :
Datum för skapande av sida :

Omvärld

PostgreSQL (på engelska)
  • PostgreSQL 15
Windows (server)
  • Windows Server 2019
Windows (klient)
  • Windows 11 (på engelska)

Förutsättningar

Windows
  • Windows Server 2019
  • Windows Server 2016
  • Andra versioner kan fungera, men stöds inte officiellt.

brandvägg

I Windows förhindrar brandväggar andra anslutningar än standardportar. Den måste konfigureras för att kunna ansluta på porten för att ansluta till PostgreSQL.

När du har loggat in på Windows-miljön på serversidan skriver du "brandvägg" på startmenyn och väljer Öppna Windows Defender-brandväggen med avancerad säkerhet.

När skärmen öppnas väljer du "Regler för inkommande trafik" i menyn till vänster och klickar på "Ny regel..." i menyn till höger.

För Regeltyp väljer du Port.

För Protokoll och port väljer du TCP som protokoll. För porten anger du standardvärdet 5432. Om du angav ett annat portnummer i PostgreSQL-installationen anger du det portnumret.

För "Åtgärd" väljer du "Tillåt anslutning".

I "Profil" markerar du "Domän" och "Privat". Jag tror att det är osannolikt att du kommer att låta en databas nås i en "offentlig" miljö som tillåter ospecificerade personer att komma åt den.

Ange ett valfritt namn och en beskrivning. Ange det så att det är lätt att förstå syftet med att öppna porten.

När den har lagts till kommer den att visas i listan.

postgresql.conf

Kontrollera inställningarna i postgresql.conf. Jag tror inte att du behöver ändra det i version 15.

Det finns en fil på följande plats, så öppna den med ett anteckningsblocksprogram. Kontrollera sökvägen eftersom den varierar beroende på version.

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

listen_addresses Leta efter parametern som anropas. Du behöver inte ändra den om den är inställd enligt följande:

listen_addresses = '*'

pg_hba.conf

Som standard kan databasen endast nås från den lokala miljön.

Det finns en fil på följande plats, så öppna den med ett anteckningsblocksprogram. Kontrollera sökvägen eftersom den varierar beroende på version.

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

Det finns en möjlighet att du kan göra ett misstag när du korrigerar det, så kopiera och säkerhetskopiera filen innan du ändrar den för säkerhets skull.

Om du bläddrar till botten hittar du följande rader: Detta indikerar att IPv4 endast kan nås lokalt.

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

Ställ in denna ADRESS till en enda eller ett intervall så att den kan nås från andra datorer. Vilket värde du ställer in beror på vilket nätverk du bygger. Om du inte är säker, tillåt 0.0.0.0/0 alla med eller samenet typ för att tillåta hela räckvidden för samma nätverk som servern.

Exempel på konfiguration

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

Starta om tjänsten

pg_hba.conf Dessa konfigurationsfiler läses bara när PostgreSQL startas, så du måste starta om tjänsten. Förresten, den laddas när PostgreSQL startar, så om du startar om Windows kommer den att laddas vid den tidpunkten.

När du har öppnat startmenyn skriver du "tjänster" för att starta den.

Hitta och välj "postgresql-x64-15 - PostgreSQL Server 15" från den mellersta listan. Observera att namnet varierar beroende på version. När du har valt klickar du på "Starta om tjänsten" från vänster.

Kontrollera anslutningen från andra datorer

Låt oss se om vi kan ansluta till databasen från en annan dator. Information om anslutningsdestinationen varierar beroende på miljön, så det är bara proceduren som beskrivs här. Jag använder pgAdmin för att ansluta den här gången, men jag tror att du kan ansluta med andra verktyg för databasåtkomst också.

Efter att ha startat pgAdmin på en klientdator separat från databasservern, högerklicka på Servrar och välj "Registrera > server...".

På fliken Allmänt ska namnet vara ett namn som hjälper dig att identifiera servern.

Välj fliken Anslutning. Ange "Värdnamn/adress", "Underhållsdokumentation", "Användarnamn" och "Lösenord". Om du inte vill ange lösenordet varje gång, aktivera "Spara lösenord". Förresten, pdAdmin kanske inte kan matcha namnet på värden, så ange i så fall IP-adressen direkt.

Fyll i de andra inmatningsfälten efter behov. När du är klar klickar du på knappen "Spara".

Om du kan ansluta till målserverns databas är verifieringen klar.