Re: BUG with accessing to temporary tables of other sessions still exists - Mailing list pgsql-hackers

From Daniil Davydov
Subject Re: BUG with accessing to temporary tables of other sessions still exists
Date
Msg-id CAJDiXgjTz1b6ebZj3h79-tax6t2qF6_LrpL06jGpLJg1aTY_2Q@mail.gmail.com
Whole thread
In response to Re: BUG with accessing to temporary tables of other sessions still exists  (Imran Zaheer <imran.zhir@gmail.com>)
Responses Re: BUG with accessing to temporary tables of other sessions still exists
List pgsql-hackers
Hi,

On Thu, Jun 4, 2026 at 12:43 AM Imran Zaheer <imran.zhir@gmail.com> wrote:
>
> During testing this patch I also noticed that other sessions are also
> able to drop the temporary table.
>
>
> postgres=# drop table pg_temp_0.empty_table;
> DROP TABLE
>
> Above command works just fine from the other session.
>
> I was able to fix that by adding the same check in
> heap_drop_with_catalog in heap.c,  but I'm not sure whether it's the
> right place to add this check.
>
> Let me know if I am missing something.
>

It may be counter intuitive, but we allow dropping other session's temp tables.
You can find the rationale for this in the 013_temp_obj_multisession.pl test.
You can also read this message [1] in the previous discussion. In short, we
prohibit looking at other-temp-table's pages not because they belong to another
session, but because current temp_buffers implementation doesn't  provide the
ability to do so. Moreover, the ability to DROP other temp tables can be useful
for autovacuum (see orphaned temp tables removal logic) and administrators.

[1] https://www.postgresql.org/message-id/4075754.1774378690@sss.pgh.pa.us

--
Best regards,
Daniil Davydov



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: PostgreSQL 19 Beta 1 release announcement draft
Next
From: Peter Eisentraut
Date:
Subject: Re: Does MSVC predefine __x86_64__ on 64-bit Intel?