Re: pg_toast_temp_xx AND pg_temp_xx SCHEMAS - Mailing list pgsql-general

From Tom Lane
Subject Re: pg_toast_temp_xx AND pg_temp_xx SCHEMAS
Date
Msg-id 17251.1236729521@sss.pgh.pa.us
Whole thread Raw
In response to Re: pg_toast_temp_xx AND pg_temp_xx SCHEMAS  (Vyacheslav Kalinin <vka@mgcp.com>)
List pgsql-general
Vyacheslav Kalinin <vka@mgcp.com> writes:
>> They're just there to hold temporary tables (so that the names of such
>> tables don't conflict with any non-temporary tables).  The reason they
>> seem to accumulate is we only create one when needed, and there's one
>> for each concurrently executing backend if it creates any temp tables.

> Hm, do they get garbage-collected in any way? I have several such schemes
> that won't disappear even though no other sessions but one is there.

No, that would just be a waste of cycles since they'll be needed again
eventually.  The steady-state situation should be that you have
max_connections of them, more or less, if you ever get up to
max_connections live connections.

> On a side note: I can drop temporary tables of other sessions via "DROP
> pg_temp_xx.table" (although I can't seem to affect table data seen from
> other session). Is there any security issues/gotchas here?

If you can do that without being superuser, I'd take an interest.
Otherwise the answer is "don't do that".

            regards, tom lane

pgsql-general by date:

Previous
From: Scott Marlowe
Date:
Subject: Re: panic: index siblings mismatch
Next
From: Tom Lane
Date:
Subject: Re: tsearch2 dictionary for statute cites