| From: | Daniil Davydov <3danissimo(at)gmail(dot)com> |
|---|---|
| To: | Imran Zaheer <imran(dot)zhir(at)gmail(dot)com> |
| Cc: | Jim Jones <jim(dot)jones(at)uni-muenster(dot)de>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: BUG with accessing to temporary tables of other sessions still exists |
| Date: | 2026-06-03 18:33:06 |
| Message-ID: | CAJDiXgjTz1b6ebZj3h79-tax6t2qF6_LrpL06jGpLJg1aTY_2Q@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi,
On Thu, Jun 4, 2026 at 12:43 AM Imran Zaheer <imran(dot)zhir(at)gmail(dot)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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Peter Eisentraut | 2026-06-03 18:33:50 | Re: Does MSVC predefine __x86_64__ on 64-bit Intel? |
| Previous Message | Tom Lane | 2026-06-03 18:20:21 | Re: PostgreSQL 19 Beta 1 release announcement draft |