Re: Fix bug with accessing to temporary tables of other sessions - Mailing list pgsql-hackers

From Daniil Davydov
Subject Re: Fix bug with accessing to temporary tables of other sessions
Date
Msg-id CAJDiXghO6LHTXjW3z7wNYNkX=e9SMNnkLVQmN_RHQpYJAABF=w@mail.gmail.com
Whole thread
In response to Re: Fix bug with accessing to temporary tables of other sessions  (Alexander Korotkov <aekorotkov@gmail.com>)
Responses Re: Fix bug with accessing to temporary tables of other sessions
List pgsql-hackers
Hi,

On Tue, Apr 21, 2026 at 3:07 AM Alexander Korotkov <aekorotkov@gmail.com> wrote:
>
> I've checked the thread.  Thanks to all the participants for their
> work.  I think there is a general agreement on the design.
>
> I see the patch changes the error wording.  Previously the error was
> "cannot access temporary tables of other sessions", but we change it
> to "cannot access temporary relation of other sessions".  I see the
> intention here: we trigger an error while accessing some relation (not
> necessarily a table) then we should reflect this directly to the error
> message.  However, old message is already here for quite a while and
> translated into many languages.  Also, is old message incorrect?  We
> trigger an error on buffer access.  That is, we trigger an error only
> for relation with a storage: table, index, sequence or matview.
> Matview can't be temporary.  Also, if you access an index with a
> query, that means you're querying its table.  But sequence can be
> temporary and it can be not directly associated with a table.  So,
> yes, new error message is more correct.

Thank you very much for the review!

> But I would prefer to make it
> a separate patch, and replace all the occurrences including contrib.

OK, no problem.
BTW, do I understand correctly that I don't need to touch the .po files?

I have also noticed this code in the localbuf.c :
```
    if (IsParallelWorker())
        ereport(ERROR,
                (errcode(ERRCODE_INVALID_TRANSACTION_STATE),
                 errmsg("cannot access temporary tables during a
parallel operation")));
```
This code is related to initialization of local buffers which can be performed
not only for tables, obviously. Since this is a small step away from our
original idea, I'll fix it in a separate patch. IMHO it will be an appropriate
fix since we have already taken on this task. Looking forward to your comments.

--
Best regards,
Daniil Davydov

Attachment

pgsql-hackers by date:

Previous
From: Etsuro Fujita
Date:
Subject: Re: [PATCH] Fix column name escaping in postgres_fdw stats import
Next
From: "Matheus Alcantara"
Date:
Subject: Re: MERGE PARTITIONS and DEPENDS ON EXTENSION.