From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | pgsql-hackers(at)postgreSQL(dot)org |
Subject: | Making temp tables' toast tables be temp |
Date: | 2007-07-25 15:50:55 |
Message-ID: | 11902.1185378655@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Currently, a toast table attached to a temporary table is treated much
as though it were a regular permanent table: accesses to it go through
shared buffers and are WAL-logged. Aside from the obvious performance
penalties, this means that backends may sometimes acquire open file
pointers for temporary toast tables of other backends, which can have
unpleasant consequences. Yesterday someone reported running out of
disk space because of dangling references to nominally-dropped temp
tables:
http://archives.postgresql.org/pgsql-bugs/2007-07/msg00122.php
So I'm thinking it might be time to fix this. After checking the
code, it seems like it'd be a reasonably small patch if we establish
a convention that toast tables for a temp schema pg_temp_nnn are
kept in an associated dedicated schema, named something like
pg_temp_nnn_toast or pg_toast_temp_nnn. Then functions like
isOtherTempNamespace() could still recognize these tables as temp.
It'd mean a bit more clutter in pg_namespace though.
Comments?
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Gavin M. Roy | 2007-07-25 15:51:53 | Re: Machine available for community use |
Previous Message | Mark Wong | 2007-07-25 15:50:06 | Re: Machine available for community use |