it-swarm-eu.dev

Problémy s připojením k Postgresql se systémem Windows

Jiné počítače mají potíže s hledáním běžícího Postgresql 9.1 na mém počítači se systémem Windows 7. Místní připojení samozřejmě fungují dobře.

V mém pg_hba.conf mám:

#office subnets
Host    all             all             192.168.##.0/24            md5
Host    all             all             192.168.##.0/24            md5

V postgresql.conf mám (Ano, port 5433 je úmyslný):

listen_addresses = '*'      # what IP address(es) to listen on;
                # comma-separated list of addresses;
                # defaults to 'localhost', '*' = all
                # (change requires restart)
port = 5433             # (change requires restart)

Při spuštění netstat -a -b v cmd najdu:

 Can not obtain ownership information
   TCP    0.0.0.0:5433           XXXXX-PC:0           LISTENING

Heck, dokonce jsem udělal výjimku firewall:

Protocols and Ports:
   Local port: Specific Ports, 5433
   Remote port:  All Ports
Scope: Any IP Address
Advanced: Profiles: Private, Public
Programs and Services:  Apply to this service:  postgresql-x64-9.1

Typickou odpovědí pgAdmin je vždy obávaný:

Server doesn't listen

could not connect to server: Connection timed out (0x0000274C/10060) Is the server running on Host "...." and accepting TCP/IP connections on port 5433?

Nějaké nápady?

6
Evan Siroky

Zde jsou kroky pro řešení problémů, které bych doporučil:

  1. Z místního počítače zkuste následující. Pokud fungují, víte, že problém není PostgreSQL. Pokud nefungují, víte, že váš problém je pro daný stroj lokální.

    • psql -h localhost -p 5433
    • psql -h [externí ip] -p 5433
    • Pokud selže, zkuste dočasně vypnout všechny brány firewall a zkuste to znovu
  2. Nyní, pokud to funguje, je dalším krokem řešení sítě. Traceroute může být užitečný zde. Zkuste také připojení k jiným otevřeným portům pomocí jiného softwaru a ujistěte se, že funguje. Odtud možná budete moci zjistit, kde přesně jsou pakety vyhozeny.

3
Chris Travers

Ujistěte se, že je server PostgreSQL povolen prostřednictvím brány firewall:

Na serverovém počítači přejděte na

Ovládací panely> Systém a zabezpečení> Brána Windows Firewall> Povolit aplikaci prostřednictvím brány Windows Firewall

Procházejte povolenými aplikacemi a funkcemi a ujistěte se, že je zaškrtnuto políčko PostgreSQL Server.

2
Bugalugs Nash

Čelil jsem stejnému problému, byl vyřešen vypnutím Win Firewallu a Antiviru
Blokovali připojení k serveru DB

1
user17476

Přidání pravidla do brány firewall pro postgres

Přejděte na "Ovládací panel" = >> "Windows Defender Firewall"

Pannel

Firewall

Poté zvolte „Pokročilá nastavení“ (většinou ve svislých možnostech na levé straně) Tím se otevře „brána Windows Defender s pokročilým zabezpečením v místním počítači“

Advance

Poté vyberte „Příchozí pravidlo“.

Inbound

Poté klikněte na „Nové pravidlo“. Otevře se „Průvodce novým příchozím pravidlem“.

New Rule

Vyberte „Program“ a klikněte na Další.

Program

Přidat programovou cestu psql.exe. V mém případě je psql.exe na lokalizaci "C:\Program Files\PostgreSQL\9.6\bin\psql.exe".

Pgm Path

Vyberte možnost „Povolit umístění“.

location

Zaškrtněte všechna políčka, na které chcete pravidlo použít.

Allow For

Uveďte správné jméno a popis pravidla. Poté klikněte na dokončení.

Name

Tím se přidá nové pravidlo pro přístup k psql pomocí localhost. Potom zkuste spustit pgAdmin nebo získat přístup k db pomocí cmd.

0
Abhishek