From: | "Semyon Reyfman" <sreyfman(at)therealauthority(dot)com> |
---|---|
To: | <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: ANALYZE after CREATE TABLE AS SELECT... |
Date: | 2015-02-27 02:42:42 |
Message-ID: | 010901d05237$109ba8a0$31d2f9e0$@therealauthority.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
This is exactly my situation.
Thanks.
Semyon Reyfman
-----Original Message-----
From: pgsql-general-owner(at)postgresql(dot)org
[mailto:pgsql-general-owner(at)postgresql(dot)org] On Behalf Of David Steele
Sent: Thursday, February 26, 2015 8:19 PM
To: Tom Lane; Semyon Reyfman
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: [GENERAL] ANALYZE after CREATE TABLE AS SELECT...
On 2/26/15 2:05 PM, Tom Lane wrote:
> "Semyon Reyfman" <sreyfman(at)therealauthority(dot)com> 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(at)pgmasters(dot)net
From | Date | Subject | |
---|---|---|---|
Next Message | Melvin Call | 2015-02-27 02:50:30 | Hex characters in COPY input |
Previous Message | Michael Paquier | 2015-02-27 01:25:28 | Re: Triggers on foreign Postgres 9.3 tables in Postgres 9.4 |