On Mon, Nov 6, 2017 at 3:26 PM, Tom Lane wrote:
> Alvaro Herrera writes:
>> Luca Ferrari wrote:
>>> Why is xmin greater than the current transaction id (and most notably
>>> not "fixed")?
>
>> Something is using subtransactions there. My first guess
Alvaro Herrera writes:
> Luca Ferrari wrote:
>> Why is xmin greater than the current transaction id (and most notably
>> not "fixed")?
> Something is using subtransactions there. My first guess would be that
> there are triggers with EXCEPTION blocks, but your example
Luca Ferrari wrote:
> Any other idea?
None here. Maybe try attaching a debugger, setting a breakpoint on
AssignTransactionId, and grab backtraces when it is hit.
--
Álvaro Herrerahttps://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
On Mon, Nov 6, 2017 at 2:29 PM, Andres Freund wrote:
> That doesn't look like plain postgres behaviour to me. Any chance you're
> using a pooler in statement mode in front of postgres?
None I'm aware of, since the machine is using postgresql locally and
I'm connecting to it
On Mon, Nov 6, 2017 at 1:53 PM, Alvaro Herrera wrote:
> Something is using subtransactions there. My first guess would be that
> there are triggers with EXCEPTION blocks, but your example doesn't show
> any. Or maybe you have event triggers.
Thanks, but I don't see any
Hi,
On 2017-11-06 10:36:06 +0100, Luca Ferrari wrote:
> Hi all,
> I suspect this has a trivial explaination, but this is what I'm experiencing:
>
> > CREATE TABLE foo( i int );
> > BEGIN;
> * > INSERT INTO foo(i) VALUES( 1 );
> * > INSERT INTO foo(i) VALUES( 2 );
> * > SELECT xmin, cmin, xmax,
Luca Ferrari wrote:
> Hi all,
> I suspect this has a trivial explaination, but this is what I'm experiencing:
>
> > CREATE TABLE foo( i int );
> > BEGIN;
> * > INSERT INTO foo(i) VALUES( 1 );
> * > INSERT INTO foo(i) VALUES( 2 );
> * > SELECT xmin, cmin, xmax, cmax, i FROM foo;
> xmin | cmin |
Hi all,
I suspect this has a trivial explaination, but this is what I'm experiencing:
> CREATE TABLE foo( i int );
> BEGIN;
* > INSERT INTO foo(i) VALUES( 1 );
* > INSERT INTO foo(i) VALUES( 2 );
* > SELECT xmin, cmin, xmax, cmax, i FROM foo;
xmin | cmin | xmax | cmax | i