Pokoušíte se připojit k PostgreSQL na localhost
pomocí skriptu spuštěného na vašem počítači, ale není tam spuštěn žádný PostgreSQL server.
Aby to fungovalo, museli byste se ssh přesunout na vzdálený server a poté spustit svůj skript Python tam, kde je server PostgreSQL "lokální" vzhledem k skriptu Python.
(Proto spuštění psql
funguje – protože jej provozujete na vzdáleném serveru , kde PostgreSQL je "místní" vzhledem k psql
).
Případně můžete:
-
Použijte tunel SSH k předání portu PostgreSQL z místního počítače na vzdálený; nebo
-
Po povolení vzdálených připojení na serveru se připojte přímo přes TCP/IP ke vzdálenému serveru PostgreSQL pomocí jeho názvu hostitele nebo IP adresy.
Všimněte si, že stačí zadat IP adresu serveru nebo název hostitele do připojovacího řetězce namísto localhost
nebude fungovat pokud server nenakonfigurujete také tak, aby přijímal vzdálená připojení . Musíte nastavit listen_addresses
chcete-li naslouchat nelokálním připojením, přidejte všechna požadovaná pravidla brány firewall, nastavte pg_hba.conf
povolit připojení ze vzdálených počítačů a nejlépe nastavit SSL. To vše je popsáno v kapitole Autentizace klienta v uživatelské příručce PostgreSQL.
Pravděpodobně vám bude SSH tunel jednodušší a srozumitelnější.