Re: [Patch] Temporary tables that do not bloat pg_catalog (a.k.a fast temp tables)
От | Andres Freund |
---|---|
Тема | Re: [Patch] Temporary tables that do not bloat pg_catalog (a.k.a fast temp tables) |
Дата | |
Msg-id | 20160815005755.gswdyjfob7dzw4yp@alap3.anarazel.de обсуждение исходный текст |
Ответ на | Re: [Patch] Temporary tables that do not bloat pg_catalog (a.k.a fast temp tables) (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: [Patch] Temporary tables that do not bloat pg_catalog (a.k.a fast temp tables)
|
Список | pgsql-hackers |
On 2016-08-07 14:46:06 -0400, Tom Lane wrote: > Robert Haas <robertmhaas@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
В списке pgsql-hackers по дате отправления: