Hi,

On Thu, Jun 4, 2026 at 12:43 AM Imran Zaheer <[email protected]> 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/[email protected]

--
Best regards,
Daniil Davydov


Reply via email to