On 2016-08-07 14:46:06 -0400, Tom Lane wrote: > Robert Haas <robertmh...@gmail.com> writes: > > I think the whole idea of a fast temporary table is that there are no > > catalog entries. If there are no catalog entries, then dependencies > > are not visible. If there ARE catalog entries, to what do they refer? > > Without a pg_class entry for the table, there's no table OID upon > > which to depend. > > TBH, I think that the chances of such a design getting committed are > not distinguishable from zero. Tables have to have OIDs; there is just > too much code that assumes that. And I seriously doubt that it will > work (for any large value of "work") without catalog entries.
That seems a bit too defeatist. It's obviously not a small change to get there - and I don't think the patch upthread is really attacking the relevant problems yet - but saying that we'll never have temp tables without pg_class/pg_depend bloat seems to be pretty close to just giving up. Having 8 byte oids (as explicit columns instead of magic? Or just oid64?) and then reserving ranges for temp objects stored in a local memory seems to be feasible. The pinning problem could potentially be solved by "session lifetime" pins in pg_depend, which prevents dependent objects being dropped. Obviously that's just spitballing; but I think the problem is too big to just give up. Andres -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers