| From: | Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com> |
|---|---|
| To: | Andrey Borodin <x4mmm(at)yandex-team(dot)ru> |
| Cc: | Zsolt Parragi <zsolt(dot)parragi(at)percona(dot)com>, pgsql-hackers mailing list <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Nathan Bossart <nathandbossart(at)gmail(dot)com> |
| Subject: | Re: SSI: ON CONFLICT DO SELECT takes no predicate lock on the returned row |
| Date: | 2026-09-23 12:28:47 |
| Message-ID: | CAEZATCXiHxh-UZFj5QeStAjkoof+=DqYgaOvdQGE2DJt2nbQ_A@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Wed, 23 Sept 2026 at 12:22, Andrey Borodin <x4mmm(at)yandex-team(dot)ru> wrote:
>
> The snapshot change looks correct to me.
Hmm, I'm not so sure.
I'm thinking now that making ExecCheckIndexConstraints() require
estate->es_snapshot was actually an unintended change of the kind that
probably wasn't safe for back-patching, because it might affect
extension code.
Perhaps, instead, we should make it only do the re-fetch if
estate->es_snapshot is not InvalidSnapshot. For logical replication,
it actually seems unnecessary anyway, since it's only replaying an
update that has already been successfully committed by the publisher.
I wonder if it was actually intentional that logical replication
workers don't set es_snapshot on the EState, since they don't use it
to scan tables, so estate->es_snapshot is not needed.
Regards,
Dean
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andrey Borodin | 2026-09-23 12:38:58 | Re: Orphaned Files in PostgreSQL |
| Previous Message | Heikki Linnakangas | 2026-09-23 12:23:33 | Re: [PATCH] Two remaining shmem attachment issues in single-user mode |