Re: [Proposal] Global temporary tables
Prabhat Sahu <prabhat.sahu@enterprisedb.com>
From: Prabhat Sahu <prabhat.sahu@enterprisedb.com>
To: 曾文旌(义从) <wenjing.zwj@alibaba-inc.com>
Cc: Robert Haas <robertmhaas@gmail.com>, tushar <tushar.ahuja@enterprisedb.com>, Pavel Stehule <pavel.stehule@gmail.com>, Tomas Vondra <tomas.vondra@2ndquadrant.com>, Konstantin Knizhnik <k.knizhnik@postgrespro.ru>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>, 蔡松露(子嘉) <zijia@taobao.com>, "Cai, Le" <le.cai@alibaba-inc.com>, 萧少聪(铁庵) <shaocong.xsc@alibaba-inc.com>
Date: 2020-03-09T12:24:01Z
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
Hi All, Kindly check the below scenario. *Case 1: * postgres=# CREATE GLOBAL TEMPORARY TABLE gtt1(c1 int) on commit delete rows; CREATE TABLE postgres=# CREATE GLOBAL TEMPORARY TABLE gtt2(c1 int) on commit preserve rows; CREATE TABLE postgres=# vacuum gtt1; VACUUM postgres=# vacuum gtt2; VACUUM postgres=# vacuum; VACUUM postgres=# \q *Case 2: Exit and reconnect to psql prompt.* [edb@localhost bin]$ ./psql postgres psql (13devel) Type "help" for help. postgres=# vacuum gtt1; WARNING: skipping vacuum empty global temp table "gtt1" VACUUM postgres=# vacuum gtt2; WARNING: skipping vacuum empty global temp table "gtt2" VACUUM postgres=# vacuum; WARNING: skipping vacuum empty global temp table "gtt1" WARNING: skipping vacuum empty global temp table "gtt2" VACUUM Although in "Case1" the gtt1/gtt2 are empty, we are not getting "WARNING: skipping vacuum empty global temp table" for VACUUM in "Case 1". whereas we are getting the "WARNING" for VACUUM in "Case2". On Fri, Mar 6, 2020 at 12:41 PM 曾文旌(义从) <wenjing.zwj@alibaba-inc.com> wrote: > > > > 2020年3月5日 下午10:38,Robert Haas <robertmhaas@gmail.com> 写道: > > > > On Thu, Mar 5, 2020 at 9:19 AM tushar <tushar.ahuja@enterprisedb.com> > wrote: > >> WARNING: relfilenode 13589/1663/19063 not exist in gtt shared hash > when forget > >> ERROR: out of shared memory > >> HINT: You might need to increase max_active_gtt. > >> > >> also , would be great if we can make this error message user friendly > like - "max connection reached" rather than memory error > > > > That would be nice, but the bigger problem is that the WARNING there > > looks totally unacceptable. It's looks like it's complaining of some > > internal issue (i.e. a bug or corruption) and the grammar is poor, > > too. > > Yes, WARNING should not exist. > This is a bug in the rollback process and I have fixed it in > global_temporary_table_v17-pg13.patch > > > Wenjing > > > > > > -- > > Robert Haas > > EnterpriseDB: http://www.enterprisedb.com > > The Enterprise PostgreSQL Company > > > > -- With Regards, Prabhat Kumar Sahu EnterpriseDB: http://www.enterprisedb.com