Re: Re: [pgsql-de-allgemein] Hängende Transaktion killen

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

In response to

Browse pgsql-de-allgemein by date

  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