Re: [Proposal] Global temporary tables
Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
From: Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
To: Robert Haas <robertmhaas@gmail.com>,
Tomas Vondra <tomas.vondra@2ndquadrant.com>
Cc: 曾文旌(义从) <wenjing.zwj@alibaba-inc.com>, Pavel Stehule <pavel.stehule@gmail.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>, 蔡松露(子嘉) <zijia@taobao.com>, "Cai, Le" <le.cai@alibaba-inc.com>, 萧少聪(铁庵) <shaocong.xsc@alibaba-inc.com>
Date: 2020-01-24T08:39:40Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
PageAddItemExtended(): Add LP_UNUSED assertion.
- 30aaab26e521 14.0 cited
-
Remove temporary files after backend crash
- cd91de0d1795 14.0 cited
-
Fix comment in indexing.c
- 9fd2952cf492 14.0 cited
-
Fix failure to ignore leftover temp tables after a server crash.
- 6919b7e32947 9.3.0 cited
On 23.01.2020 23:47, Robert Haas wrote: > On Sat, Jan 11, 2020 at 8:51 PM Tomas Vondra > <tomas.vondra@2ndquadrant.com> wrote: >> I proposed just ignoring those new indexes because it seems much simpler >> than alternative solutions that I can think of, and it's not like those >> other solutions don't have other issues. > +1. > >> For example, I've looked at the "on demand" building as implemented in >> global_private_temp-8.patch, I kinda doubt adding a bunch of index build >> calls into various places in index code seems somewht suspicious. > +1. I can't imagine that's a safe or sane thing to do. > As far as you know there are two versions of GTT implementations now. And we are going to merge them into single patch. But there are some principle question concerning provided functionality which has to be be discussed: should we prohibit DDL on GTT if there are more than one sessions using it. It includes creation/dropping indexes, dropping table, altering table... If the answer is "yes", then the question whether to populate new indexes with data is no relevant at all, because such situation will not be possible. But in this case we will get incompatible behavior with normal (permanent) tables and it seems to be very inconvenient from DBA point of view: it will be necessary to enforce all clients to close their sessions to perform some DDL manipulations with GTT. Some DDLs will be very difficult to implement if GTT is used by more than one backend, for example altering table schema. My current solution is to allow creation/droping index on GTT and dropping table itself, while prohibit alter schema at all for GTT. Wenjing's approach is to prohibit any DDL if GTT is used by more than one backend. -- Konstantin Knizhnik Postgres Professional: http://www.postgrespro.com The Russian Postgres Company