Immer wenn ich eine Abfrage in postgresql ausführe, ist dies die Fehlermeldung, die ich erhalte
Transaktions-ID in der Sitzung nicht gefunden.
Hat jemand eine Idee, wie man das lösen kann? Ich habe vor kurzem einen neuen Benutzer erstellt, aber ich konnte keine Dokumentation finden, die dies sogar als gültigen Fehler anzeigt.
Weitere Details: Es ist mir gelungen, den Fehler durch erneute Verbindung mit Administratorrechten zu beheben.
Ich habe PG Admin V4 mit Postgres V9.6 verwendet, und dies war die einzige Meldung, die in jeder von mir ausgeführten Abfrage angezeigt wurde, auch wenn es sich um eine grundlegende Abfrage wie 'SELECT NOW ()' handelte.
Gleichzeitig war dies die Fehlermeldung, die vom Clientgerät (einem iOS-Gerät mit einem AWS Lambda/NodeJS-Backend) empfangen wurde:
'message' : {
'name' : 'error',
'length' : 114,
'severity' : 'fatal',
'code' : '28000',
'file' : 'miscinit.c',
'line' : '587',
'routine' : 'InitializeSessionUserId'
}
Ich gehe davon aus, dass Sie eine Lösung gefunden haben, aber für alle anderen Benutzer, die diesen Beitrag gefunden haben, hatte ich das gleiche Problem und ich habe gerade PG Admin 4 geschlossen und neu gestartet und es wurde geklärt.
1) Reconnect to the database
2) Open a new Query Tab. (Run your query here)
Bitte.
Das Trennen und Wiederherstellen der Verbindung zur Datenbank hat dieses Problem für mich gelöst. PGAdmin 4 musste nicht vollständig beendet/geöffnet werden.
Dies ist keine PostgreSQL-Fehlermeldung. Es muss von etwas anderem in dem Stack stammen, den Sie verwenden - einem Client-Treiber, ORM usw.
Bitte stellen Sie eine detailliertere Frage mit vollständigen Informationen zum verwendeten Stack.
Daher kenne ich die genauen Details meiner Lösung nicht, aber ich habe dieses Problem unter den folgenden Umständen gefunden:
Ich bin immer noch nicht ganz sicher, ob ich die Lösung des Wurzelproblems gefunden habe, aber wenn andere das gleiche Szenario haben, kann dies die Problembehandlung weiter erleichtern. Wenn eine dieser drei nicht verwendet wird, ist mir das Problem nie begegnet.
Hat jemand eine Erklärung für dieses Problem gefunden? Außerdem erhalte ich eine "Transaktions-ID, die in der Sitzung nicht gefunden wurde". Es ist für eine lange laufende (mehrere Tage) Abfrage. Ich habe es mit einer Stichprobe von 10% meiner Daten ausgeführt und hatte keine Probleme. Jetzt muss ich den Vorgang für den gesamten Datensatz wiederholen. Ich stelle erneut eine Verbindung zur Datenbank her und die Abfrage wird als noch aktiv angezeigt. Eine neue Leerlaufabfrage wird wie folgt angezeigt:
SELECT rel.oid, rel.relname AS name,
(SELECT count(*) FROM pg_trigger WHERE tgrelid=rel.oid AND tgisinternal = FALSE) AS triggercount,
(SELECT count(*) FROM pg_trigger WHERE tgrelid=rel.oid AND tgisinternal = FALSE AND tgenabled = 'O') AS has_enable_triggers,
(CASE WHEN rel.relkind = 'p' THEN true ELSE false END) AS is_partitioned
FROM pg_class rel
WHERE rel.relkind IN ('r','s','t','p') AND rel.relnamespace = 2200::oid
AND NOT rel.relispartition
ORDER BY rel.relname;