Re: [Proposal] Global temporary tables - Mailing list pgsql-hackers

From 曾文旌
Subject Re: [Proposal] Global temporary tables
Date
Msg-id 54071B10-308E-4DA8-8EF6-C79B5EE09239@alibaba-inc.com
Whole thread Raw
In response to Re: [Proposal] Global temporary tables  (Prabhat Sahu <prabhat.sahu@enterprisedb.com>)
Responses Re: [Proposal] Global temporary tables  (Prabhat Sahu <prabhat.sahu@enterprisedb.com>)
List pgsql-hackers


2020年4月17日 下午7:26,Prabhat Sahu <prabhat.sahu@enterprisedb.com> 写道:

On Fri, Apr 17, 2020 at 2:44 PM 曾文旌 <wenjing.zwj@alibaba-inc.com> wrote:

I improved the logic of the warning message so that when the gap between relfrozenxid of GTT is small,
it will no longer be alarmed message.

Hi Wenjing,
Thanks for the patch(v26), I have verified the previous related issues, and are working fine now.
Please check the below scenario VACUUM from a non-super user.

-- Create user "test_gtt", connect it , create gtt, VACUUM gtt and VACUUM / VACUUM FULL
postgres=# CREATE USER test_gtt;
CREATE ROLE
postgres=# \c postgres test_gtt
You are now connected to database "postgres" as user "test_gtt".
postgres=> CREATE GLOBAL TEMPORARY TABLE gtt1(c1 int);
CREATE TABLE

-- VACUUM gtt is working fine, whereas we are getting huge WARNING for VACUUM / VACUUM FULL as below:
postgres=> VACUUM gtt1 ;
VACUUM
postgres=> VACUUM;
WARNING:  skipping "pg_statistic" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_type" --- only superuser or database owner can vacuum it
WARNING:  skipping "pg_toast_2600" --- only table or database owner can vacuum it
WARNING:  skipping "pg_toast_2600_index" --- only table or database owner can vacuum it

... ...
... ...

WARNING:  skipping "_pg_foreign_tables" --- only table or database owner can vacuum it
WARNING:  skipping "foreign_table_options" --- only table or database owner can vacuum it
WARNING:  skipping "user_mapping_options" --- only table or database owner can vacuum it
WARNING:  skipping "user_mappings" --- only table or database owner can vacuum it
VACUUM 
I think this is expected, and user test_gtt does not have permission to vacuum the system table.
This has nothing to do with GTT.


Wenjing


-- 

With Regards,
Prabhat Kumar Sahu
EnterpriseDB: http://www.enterprisedb.com


Attachment

pgsql-hackers by date:

Previous
From: 曾文旌
Date:
Subject: Re: [Proposal] Global temporary tables
Next
From: Amit Langote
Date:
Subject: Re: DETACH PARTITION and FOR EACH ROW triggers on partitioned tables