PgTcl - Speicherzugriffsfehler

Hallo,

ich schreibe ein Programm in Tcl/Tk mit PgTcl, dass auf diverse
PostgreSQL Datenbanken zugreifen soll. Dabei habe ich
das Problem, dass ich nach einem Wechsel aus einer
geöffneten Datenbank in eine andere Datenbank
nach kurzer Zeit einen Speicherzugriffsfehler bekomme.

Den Wechsel der Datenbank habe ich wie folgt programmiert:

Der Benutzer bekommt alle bestehenden Datenbanken in
einer Listbox angezeigt. Mit einem Doppelklick auf eine
Datenbank soll die Verbindung zu der bereits geöffneten
Datenbank geschlossen werden und eine neue Verbindung
zur angeklickten Datenbank hergestellt werden.

Die Datenbanken frage ich wie folgt ab:

set res [pg_exec $db1 “SELECT datname FROM pg_database ORDER BY datname;”]
set ergebnis [pg_result $res -list]
pg_result $res -clear

Nach dem Doppelklick schließe ich zunächst die
geöffnete Datenbank:
bind .mandwechsel.l {

alte datenbank schließen

pg_disconnect $db1

neue datenbank ermitteln

set mtemp [selection get]

verbindung zur ausgewählten datenbank herstellen

set db1 [pg_connect -conninfo [list host = $servername port = $port user = $benutzer dbname = $mtemp password = $passwort]]

Die Verbindung zur neuen Datenbank wird hergestellt und ich
kann i.d.R. ein paar Abfragen durchführen. Nach kurzer Zeit
stürzt aber das Tcl/Tk Programm mit der Meldung “Speicherzugriffsfehler”
ab wenn ich eine SQL Abfrage abschicke. Die Fehlermeldung scheint
nicht vom Tcl Interpreter zu kommen sondern erscheint nur im
Terminalfenster. Ich vermute die Fehlermeldung kommt von PgTcl.

Was mache ich falsch?

OpenSUSE Leap 42.1
Tcl/Tk 8.6.1
PgTcl 1.7
PostgreSQL 9.2.7

Vielen Dank!

steht was im irgend welchen Logs?

Btw.: 9.2.7 ist recht alt, aktuell in 9.2 ist 9.2.18. Seit gestern haben wir aber auch schon 9.6. Die Aktualität der anderen Komponenten habe ich jetzt nicht geprüft. Vielleicht hilft ja schon ein Update der Komponenten.

Danke für die schnelle Antwort!

In den PostgreSQL-Logs habe ich keine Fehlermeldungen gefunden, die ich mit den
Programmabstürzen in Verbindung bringe.

Ob es Logs zu PgTcl und Tcl/Tk gibt, weiss ich nicht. Ich habe zumindest keine gefunden.
Ich arbeite erst seit einigen Wochen mit PostgreSQL und PgTcl, daher habe ich noch nicht
ganz den Durchblick.

Ich werde bei Gelegenheit mal meine Software aktualisieren.

Hab noch mal nachgeschaut … meine PostgreSQL Version ist 9.2.14

Leap liefert dir mindestens 9.4 als Paket frei Haus im Standardrepo. Unter [url]http://download.opensuse.org/repositories/server:/database:/postgresql/openSUSE_Leap_42.1/x86_64//url] findest du auch alle neueren, inclusive PgTcl etc.

Gruß Uwe