ODBC

Hallo,
ich versuche über ein Access Frontend eine Verbindung zu Postgresql herzustellen und scheitere.
Pg_hba_conf ist entsprechend um den User erweitert
Im postgresql.conf File ist Listen ‘*’.
Ich komme nicht mehr weiter.
Postgres läuft auf einem Debian 10 System
post.PNG

lokale Tischbrandschutzmauer im Wege?

ja, die ist weg. Aber ich weiß jetzt warum.
Ich hatte meinen Server bisher bei Strato, jetzt Umzug zu IONOS.
IONOS hat eine externe Firewall, die keine Portfreigaben hat bis auf die üblichen für http bzw. ssh.

Wenn SSH offen ist, kannst ja einen SSH-Tunnel nutzen.

Ich weiß nicht wie ich das einrichten soll.
Mich da jetzt einzulesen, fehlt mir die Zeit.
Postgresql hört auf 5432.
Ich fühle mich mit dem ODBC Zugriff nicht unbedingt wohl (Sicherheit usw.), aber auf der anderen Seite fehlt mir das Wissen andere Wege zu nutzen.
Aber, die externe Ionos Firewall ist konfigurierbar und den Port kann man freigeben, mit anderen Worten, der Zugriff läuft und ich kann über Frontend Access zugreifen. Mein Motivation Access zu nutzen, ist die einfache Programmierbarkeit von Formularen, die ich beliebig nach meinen Wünschen erstellen kann. Die webbasierten Oberflächen sind mir manchmal zu träge oder zu unkomfortabel.

Du kannst den Port 5432 mit -L über ssh tunneln AFAIR. Dann wird dein lokaler Port über ssh zur Datenbank getunneltr. Ist nicht so schwer wie es sich anhört :wink:

Grüße
UWe

Danke schön für den Hinweis !!
Wo trage ich das ein ?
im pg_hba_conf ?

nein, beim Aufbau der SSH-Verbindung. Wenn Du direkt den ssh-Befehl in Linux nutzt ist es -L, wenn Du PuTTY nutzt, dann dort zusammenklicken.

Die Verbindung besteht über ein DSN per Access-Frontend.
D.h.das Ziel wäre, dass Access SSH nutzt, wenn ich den Vorschlag richtig verstehe.
Putty oder ssh in der Konsole spielt in der Konstellation keine Rolle.

Ok, danke für die hilfreiche Info.

Heißt dass dann, dass ich im Postgres serverseitig den Port auch ändern muss ?
Aktuell sieht meim String in access-VBA so aus:

Public Const conConnect As String = "ODBC;{DRIVER=PostgreSQL Unicode};FILEDSN=KiviDSN.dsn;Trusted_connection = YES;" & _
          "DATABASE=[dieDB];SERVER=[ip-Adresse];PORT=5432;UID=[Dumbo];PWD=[xxxx]"

wenn du einen SSH-Tunnel hast, der den remote-port 5432 auf den lokalen port 5432 mappt, dann paßt das. Als ip jetzt aber 127.0.0.1 nehmen.

Klappt… einfach so … :slight_smile:

irre, oder?

Das Mapping des Ports war das Puzzleteil das mir fehlte…