Seite 1 von 1

Keine Connection

Verfasst: Mi, 10. Feb 2021 16:07
von Jan
Moin,

Anfängerproblem. Ich bekomme keine Verbindung zum PostgreSQL.
  • PostgreSQL 13
  • Installiert ist der auf dem Server 192.168.3.102
  • Port 5432 in der Windows-Firewall freigegeben für eingehende Verbindungen
  • Testtabelle in Datenbank postgres angelegt
  • Connection-String ist "DBE=PGDBE;SERVER=\\192.168.3.102:5432;DB=postgres;UID=admin;PWD=mein3passwort"
  • isConnection gibt mir die Meldung: "could not connect to server: Connection refused (0x000027aD/10061) Is the server running on host "???" and accepting TCP/IP connections on port 5432?"
Was muß ich da machen?

Jan

Re: Keine Connectiopn

Verfasst: Mi, 10. Feb 2021 16:12
von Marcus Herz
pg_hba.conf anpassen: ist nach Installation nicht im Netz sichtbar. wurde auch auf einigen Vorträgen in Usertreffen erwähnt.
(Es ist immer einfacher, wenn das lokale Netz mit IP4 arbeitet)

Code: Alles auswählen

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
host    all             all             192.168.100.0/24        md5                  // <==== diese zeil habe ich eingefügt IP4
# IPv6 local connections:
host    all             all             ::1/128                 trust
host    all             all             fe80::d9a8:1f6:0000:0000/96  trust             // <=== diese auch IP6
# Allow replication connections from localhost, by a user with the
# replication privilege.
host    replication     all             127.0.0.1/32            md5
host    replication     all             ::1/128                 md5

Re: Keine Connection

Verfasst: Mi, 10. Feb 2021 17:20
von Jan
Moin,

nach einem ausführlichen Gespräch mit Marcus habe ich:
  • Die IP nach seinem Beispiel hinzugefügt (V4 und V6)
  • Die libpqex.dll von Alaska ausgetauscht gegen die aktuelle Version
  • PgAdmin lokal installiert (Verbindung klappt)
  • Dadurch bin ich aufmerksam geworden das der User nicht admin ist sondern postgres. Auch geändert im Connection-String
Aber: Das Resultat bleibt das Gleiche.

Jan

Re: Keine Connection

Verfasst: Mi, 10. Feb 2021 17:30
von Jan
nachdem ich den Austausch der libpq noch mal kontrolliert habe bekomme ich jetzt den Betriebssystemfehler 193 in DbeLoad. Kommt Xbase++ etwa nicht mit PostgreSQL 13 klar? Weil der PostgreSQL ein 64Bit ist?

Jan

Re: Keine Connection

Verfasst: Mi, 10. Feb 2021 18:20
von ramses
Hallo Jan

du musst unbedingt nur eine libpq in der 32 Bit Version verwenden!
Ich verwende auch diese der Version 13 ich weiss aber nicht ob Alaska hier eine selbst erzeugte speziell angepasste geänderte DLL
einsetzt oder grundsätzlich mit der Version 13 des Server umgehen kann. Die PGDBE nutze ich gar nicht.

Dem Server ist es völlig egal welche Bit-Version der Client hat.

Auf all meinen FreeBSD Server waren die immer schon 64 Bit.

Deine Zeile für IP V6 ist nicht richtig. trust ist nur für local User (selbes Gerät)
Ich würde die mal entfernen und mit IPV4 beginnen bis alles läuft.

Re: Keine Connection

Verfasst: Mi, 10. Feb 2021 19:38
von nightcrawler
Ein 32Bit Windows Programm kann nur 32Bit DLLs laden und ein 64Bit Windows Programm nur 64Bit DLLs.
Dasselbe Problem haben einige beim ADS, ODBC usw.

Re: Keine Connection

Verfasst: Mi, 10. Feb 2021 20:07
von Marcus Herz
Hi Jan
Jetzt fällt es mir wieder ein: pgAdmin ist nur noch 64 bit. Die DLL kannst du nicht brauchen. Ich hab aber im Büro die 32bit für PostgreSQL13. Schick ich dir morgen.

Re: Keine Connection

Verfasst: Mi, 10. Feb 2021 20:45
von ramses
Du musst nur die Version 4.29 verwenden oder herunterladen. (das ist die zweitletzte von ende Dez. 2020)
Bis und mit dieser Version gab es 32 und 64 Bit Versionen zum Download. Danach nur noch 64 Bit.
Was bringt uns das wohl für die Zukunft?????

Re: Keine Connection

Verfasst: Mi, 10. Feb 2021 21:17
von Marcus Herz
Denk, erst mal kann mit der letzten 32bit noch lange weiterarbeiten, denn die C-API Schnittstelle wird ja wohl nicht gebrochen werden.

Re: Keine Connection

Verfasst: Mi, 10. Feb 2021 21:29
von ramses
Das wird schon so sein. Die bestehenden C-API Funktionen werden wohl kaum gebrochen.
Aber wenn neues dazu kommt?

Re: Keine Connection

Verfasst: Do, 11. Feb 2021 8:18
von Marcus Herz
Neues ist zum größten Teil Server-Entwicklung. Hat ja mit der Kommunikation Client-Server nicht s zu tun. Selbst neue SQL Syntax wird ja mit der bisherigen Technik übertragen.
Neue Datentypen? da wirds dann schon problematisch.

Re: Keine Connection

Verfasst: Do, 11. Feb 2021 8:40
von Tom
Die 32-Bit-Version gibt's auch noch offiziell zum Download, aber wenn ich mich nicht völlig täusche, spielt überhaupt keine Rolle, ob PgAdmin 32- oder 64-bittig ist. Das hat mit der Kommunikationsschicht zwischen Client und Server schlicht nix zu tun. Dasselbe gilt m.E. auch für den Server selbst.

https://www.postgresql.org/ftp/pgadmin/ ... 9/windows/

Re: Keine Connection

Verfasst: Do, 11. Feb 2021 10:11
von ramses
Es gibt keine Weiterentwicklungen / Fehlerbehenung oder neue 32-Bit Versionen von PGAdmin und damit auch der libpq.dll
Die Ankündigung heisst:
32 bit Windows support is available for versions up to v4.29.
Der Server gibst schon seit 2016 nur noch als 64 Bit Version.

Re: Keine Connection

Verfasst: Mo, 15. Feb 2021 13:53
von Jan
Moin,

nach vielem Rumtesten und ein paar Mails mit Marcus habe ich zumindest hierfür die Lösung. In dem ganz oben zitiertem Connection-String gibt es zwei Fehler:
1) Vor der IP-Adresse darf kein \\ stehen
2) In dem Connection-String fehlt ein Database=wasauchimmer

Mit den Änderungen komme ich jetzt ohne Fehlermeldungen durch.

Aber: Damit bin ich halt immer noch nicht am Ende: Ich würde erwarten das ich jetzt die Connection habe und auch mal was abfragen kann. Pustekuchen. Ein "SELECT * FROM Journal3cx" gibt mir ein "USQL/9999 Beschreibung:Table(Journal3cx) not used in workarea. Operation: USQLSTATEMENT:REWRITETABLE".

Was will mir denn das jetzt sagen? Die Tabelle existiert jedenfalls in exakt dieser Schreibweise. Also auch kein Gro0/kleinschreibungsproblem.

Jan

Re: Keine Connection

Verfasst: Mo, 15. Feb 2021 13:57
von Jan
Mal eine ganz andere Frage dazu: Ich hab das ja oben in meinem jugendlichen Leichtsinn mit der PGDBE gemacht. Wie mache ich das aber wenn ich diese Alaska-Lösung nicht will sondern direkt ohne ISAM-Umwege auf die PostgreSQL zugreifen will?

Jan

Re: Keine Connection

Verfasst: Mo, 15. Feb 2021 14:21
von Marcus Herz
Hi Jan
Mir mehrere Alternativen bekannt:
- von Hector, hab ich heut gelesen, gibt es etwas für PostgreSQL
- du kannst direkt auf der C.Api arbeiten, ist gut dokumentiert
- meine PQclass
- theoretisch geht auch ODBC, es gibt ihn in 32bit,
- es gibt bestimmt noch was, das ich nicht kenne

Hint: unbedingt alle Felder und Tabellen kleinschreiben.
SELECT * FROM Journal3cx
würde nicht in einem SQL funktionieren, weil PostgreSQL alles nach klein umwandelt. Ich weiß nicht, wie die PGDBE das handhabt.
Eine gültige Syntax ist:
SELECT * FROM [Journal3cx]

Vielleicht ist das sogar die Ursache für deine Fehlermeldung

Re: Keine Connection

Verfasst: Mo, 15. Feb 2021 14:45
von Jan
Hallo Marcus,

Danke für die lange Liste der Alternativen. Das Hector auch was für PostgreSQL geschrieben hatte wußte ich auch erst seit seit heute. Georg hat ja regelmäßig auf hin hingewiesen, aber halt nie für PostgreSQL (vermutlich weil er eher mit MySQL arbeitet und das für ihn damit unwichtig war)

Davon bleibt mir aber nicht so viel über. Ich bin ein Fan davon wenn irgend möglich das mit Bordmitteln zu machen. Dann bleibt ja eigentlich nur ODBC. Was würde dagegen sprechen?

Das mit den eckigen Klammern geht übrigens in Xbase++ so einfach nicht - das gibt einen Compilerfehler "Cannot match to any predincted input, near <[> in table definition of FROM clause"

Jan

Re: Keine Connection

Verfasst: Mo, 15. Feb 2021 14:50
von Marcus Herz
Stimmte Im pgAdmin diese Symtax?
Ein Grund mehr, wirklich ALLES kleizuschreiben. Statt [] kann man auch '" " verwenden (doppeltes Hochkomma)
ODBC, nicht wirklich eine Alternative.

Re: Keine Connection

Verfasst: Mo, 15. Feb 2021 14:53
von Marcus Herz
Apropos: Was sind Bordmittel? Nur wenns von Alaska kommt? (Kein List&Label?)

Re: Keine Connection

Verfasst: Mo, 15. Feb 2021 15:32
von Jan
Marcus,

wenn möglich ja. Wobei mir absolut bewußt ist das sich Drittbibliotheken nicht immer vermeiden lassen. Aber wo es geht mach ich das.

Jan

Re: Keine Connection

Verfasst: Mo, 15. Feb 2021 15:41
von Jan
Marcus,

kleinschreibug im PostgreSQL und im Code der Tabelle nützt nichts. Bleibt bei der letzten Fehlermeldung.

Jan

Re: Keine Connection

Verfasst: Mo, 15. Feb 2021 20:02
von ramses
Hallo Jan

von Phil Ide gibt es eine in xbase geschriebene Klasse die sich gut als Einstieg eignet.
Wenn du noch am Anfang deines Projekts und Erfahrungen mit PQ stehst wäre die PQClass vom Marcus ein wirklich guter Einstieg um ohne die PGDBE zu leben. Kann ich dir nur empfehlen.

Re: Keine Connection

Verfasst: Do, 30. Dez 2021 13:05
von CRT
Xpp 2.0.875, Client Win10, Server Windows 2019

1, TCP Port (5432) am Server in der Firewall freischalten, eingehend.
2, pg_hba.conf editieren, damit clients zugreifen können. Diese Datei ist im Datenbankordner.
Folgender Eintrag erlaubt ALLEN clients den Zugriff, sollte aber auf das notwendigste eingeschränkt werden (s. PG Doku).

host all all 0.0.0.0/0 md5

pg_hba.conf:

Code: Alles auswählen

   #---------------------------------------------
   # IPv4 local connections:
   host all all 127.0.0.1/32 trust
   #
   # PGDBE unterstützt kein scram daher md5:
   host all all 192.168.10.0/24 md5
   host all all 192.168.10.16 255.255.255.0 md5
   #---------------------------------------------
Damit funktioniert PGADMIN4 4.28 vom Client aus, nicht jedoch am Server. PGADMIN4v6 ebenfalls so.

3, postgresql.conf bearbeiten
Weil PGDBE nur md5 beherrscht muss password_ecryption auf md5 umgestellt, und die Passwörter erneut eingetragen werden.

Code: Alles auswählen

   password_encryption = md5