From: | Bernd Helmle <mailings(at)oopsware(dot)de> |
---|---|
To: | Nicolas Barbier <nicolas(dot)barbier(at)gmail(dot)com>, Rainer Leo <leo(at)balticsoft(dot)de> |
Cc: | PostgreSQL <pgsql-de-allgemein(at)postgresql(dot)org> |
Subject: | Re: Re: [pgsql-de-allgemein] Hängende Transaktion killen |
Date: | 2014-10-01 09:51:10 |
Message-ID: | B00A1E182DF719B22A4821FC@eje.credativ.lan |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-de-allgemein |
--On 27. September 2014 16:14:57 +0200 Nicolas Barbier
<nicolas(dot)barbier(at)gmail(dot)com> wrote:
> Ich glaube, es geht hier um eine Zeile die als xmin/xmax eine
> Transaktion hat die nicht mehr im Clog vorhanden ist (wo normalerweise
> steht ob die Transaktion committed/rollbacked/activ ist). (Das sollte
> normalerweise natürlich nie passieren dürfen.) Beim lesen dieser Zeile
> will das System im Clog nachgucken ob es sie ausfiltern soll oder
> nicht (z.B., wenn die xmin-Transaktion rollbacked ist, wird die Zeile
> immer weggefiltert, wenn committed/activ hängt es vom Isolationsmodus
> der eigenen Transaktion ab, usw.), findet dann aber die entsprechende
> Clog-Datei nicht und bricht ab.
Ich würde auch mal nachprüfen, wie genau pg_clog inhaltlich aussieht. Was
ist denn das aktuelle Segment in pg_clog? Ich weiß nicht wie's dir damit
geht, aber mir kommt die XID hier abnormal vor:
Native message: FEHLER: konnte auf den Status von Transaktion
4290367978 nicht zugreifen
Das klingt nach defektem Tupelheader.
Ach ja, und das hier ist natürlich sinnlos:
select pg_terminate_backend(4290367978)
Das kann nicht funktionieren, denn man braucht die PID um ein _aktives_
Backend (das diese Transaktion ausführt) zu terminieren.
--
Thanks
Bernd
From | Date | Subject | |
---|---|---|---|
Next Message | Andreas Kretschmer | 2014-12-31 10:42:18 | Feuerwerk! |
Previous Message | Andreas Kretschmer | 2014-09-30 05:27:54 | Re: Schulungsunterlagen PostgreSQL |