From: | 曾文旌(义从) <wenjing(dot)zwj(at)alibaba-inc(dot)com> |
---|---|
To: | Prabhat Sahu <prabhat(dot)sahu(at)enterprisedb(dot)com> |
Cc: | "Robert Haas" <robertmhaas(at)gmail(dot)com>, "tushar" <tushar(dot)ahuja(at)enterprisedb(dot)com>, "Pavel Stehule" <pavel(dot)stehule(at)gmail(dot)com>, "Tomas Vondra" <tomas(dot)vondra(at)2ndquadrant(dot)com>, "Konstantin Knizhnik" <k(dot)knizhnik(at)postgrespro(dot)ru>, "PostgreSQL Hackers" <pgsql-hackers(at)postgresql(dot)org>, 蔡松露(子嘉) <zijia(at)taobao(dot)com>, Cai, Le <le(dot)cai(at)alibaba-inc(dot)com>, 萧少聪(铁庵) <shaocong(dot)xsc(at)alibaba-inc(dot)com> |
Subject: | Re: [Proposal] Global temporary tables |
Date: | 2020-03-09 16:28:12 |
Message-ID: | F6B18BB5-AA71-4FD0-9284-EF923E242F6D@alibaba-inc.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> 2020年3月9日 下午8:24,Prabhat Sahu <prabhat(dot)sahu(at)enterprisedb(dot)com> 写道:
>
> 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(at)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".
I fixed the warning message, It's more accurate now.
Wenjing
>
>
> On Fri, Mar 6, 2020 at 12:41 PM 曾文旌(义从) <wenjing(dot)zwj(at)alibaba-inc(dot)com <mailto:wenjing(dot)zwj(at)alibaba-inc(dot)com>> wrote:
>
>
> > 2020年3月5日 下午10:38,Robert Haas <robertmhaas(at)gmail(dot)com <mailto:robertmhaas(at)gmail(dot)com>> 写道:
> >
> > On Thu, Mar 5, 2020 at 9:19 AM tushar <tushar(dot)ahuja(at)enterprisedb(dot)com <mailto:tushar(dot)ahuja(at)enterprisedb(dot)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 <http://www.enterprisedb.com/>
> > The Enterprise PostgreSQL Company
>
>
>
>
>
> --
> With Regards,
> Prabhat Kumar Sahu
> EnterpriseDB: http://www.enterprisedb.com <http://www.enterprisedb.com/>
From | Date | Subject | |
---|---|---|---|
Next Message | 曾文旌 (义从) | 2020-03-09 16:29:58 | Re: [Proposal] Global temporary tables |
Previous Message | tushar | 2020-03-09 16:22:17 | Re: backup manifests |