Search Postgresql Archives

Re: ANALYZE after CREATE TABLE AS SELECT...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is exactly my situation.

Thanks.

Semyon Reyfman

-----Original Message-----
From: pgsql-general-owner@xxxxxxxxxxxxxx
[mailto:pgsql-general-owner@xxxxxxxxxxxxxx] On Behalf Of David Steele
Sent: Thursday, February 26, 2015 8:19 PM
To: Tom Lane; Semyon Reyfman
Cc: pgsql-general@xxxxxxxxxxxxxx
Subject: Re:  ANALYZE after CREATE TABLE AS SELECT...

On 2/26/15 2:05 PM, Tom Lane wrote:
> "Semyon Reyfman" <sreyfman@xxxxxxxxxxxxxxxxxxxx> writes:
>> When I create a table with "CREATE TABLE name AS SELECT." statement 
>> and immediately afterward use this new table in a query does it make 
>> sense to run ANALYZE on the new table in between?
> 
> Yes.

Yes.  And to be more specific - vacuum cannot see tables that have been
created in a transaction, so you should always analyze tables that you
intend to read in the same transaction where you created them.

Even if you do commit before reading there is a race condition with vacuum,
so it's best to analyze.

Bonus tip: the same is true for any temp tables you might create.  More so,
since vacuum will never see them at all.

--
- David Steele
david@xxxxxxxxxxxxx




-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux