Re: PostgreSql: Canceled on conflict out to old pivot - Mailing list pgsql-hackers

From Wirch, Eduard
Subject Re: PostgreSql: Canceled on conflict out to old pivot
Date
Msg-id CAPX+m-jz=VafjZhz0Qt2m6ZQ8qH2gXPJ0RJrdNaH2_MBAjp+7w@mail.gmail.com
Whole thread Raw
In response to Re: PostgreSql: Canceled on conflict out to old pivot  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
Thanks guys for the valuable info. The key take away for me is clear: keep transactions short under all circumstances.

Cheers,
Eduard

Am Fr., 1. Dez. 2023 um 01:31 Uhr schrieb Andres Freund <andres@anarazel.de>:
Hi,

On 2023-11-30 18:51:35 -0500, Tom Lane wrote:
> On what grounds do you assert that?  Operations on shared catalogs
> are visible across databases.  Admittedly they can't be written by
> ordinary DML, and I'm not sure that we make any promises about DDL
> writes honoring serializability.  But I'm unwilling to add
> "optimizations" that assume that that will never happen.

I'd say the issue is more that it's quite expensive to collect the
information. I tried in the past to make the xmin computation in
GetSnapshotData() be database specific, but it quickly shows in profiles, and
GetSnapshotData() unfortunately is really performance / scalability critical.

If that weren't the case, we could check a shared horizon for shared tables,
and a non-shared horizon otherwise.

In some cases we can compute a "narrower" horizon when it's worth the cost,
but quite often we lack the necessary data, because various backends have
stored the "global" xmin in the procarray.

Greetings,

Andres Freund

pgsql-hackers by date:

Previous
From: Nazir Bilal Yavuz
Date:
Subject: Re: Show WAL write and fsync stats in pg_stat_io
Next
From: Alexander Lakhin
Date:
Subject: Improving asan/ubsan support