vacuum analyze after updating from CVS?

Started by Bruno Wolff IIIalmost 23 years ago5 messagesgeneral
Jump to latest
#1Bruno Wolff III
bruno@wolff.to

I have found that at least one query I do gets a poor plan after I update
from CVS even if I don't need to do an initdb. Sometimes I have done an
initdb to clear things up; most recently a vacuum analyze did the trick.
This is a database used read only for web pages that I occasionally
reload (part of the reload process is to do a vacuum analyze).
Is this something I should expect? I would think since the stats were
stored in the database, they would continue to be valid after updating
the code (unless an initdb was forced).

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bruno Wolff III (#1)
Re: vacuum analyze after updating from CVS?

Bruno Wolff III <bruno@wolff.to> writes:

I have found that at least one query I do gets a poor plan after I update
from CVS even if I don't need to do an initdb. Sometimes I have done an
initdb to clear things up; most recently a vacuum analyze did the trick.
This is a database used read only for web pages that I occasionally
reload (part of the reload process is to do a vacuum analyze).
Is this something I should expect? I would think since the stats were
stored in the database, they would continue to be valid after updating
the code (unless an initdb was forced).

If you didn't do initdb then I'd not expect pg_statistic to get wiped.
Details please?

regards, tom lane

#3Bruno Wolff III
bruno@wolff.to
In reply to: Tom Lane (#2)
Re: vacuum analyze after updating from CVS?

On Sat, Jul 12, 2003 at 17:13:36 -0400,
Tom Lane <tgl@sss.pgh.pa.us> wrote:

Bruno Wolff III <bruno@wolff.to> writes:

I have found that at least one query I do gets a poor plan after I update
from CVS even if I don't need to do an initdb. Sometimes I have done an
initdb to clear things up; most recently a vacuum analyze did the trick.
This is a database used read only for web pages that I occasionally
reload (part of the reload process is to do a vacuum analyze).
Is this something I should expect? I would think since the stats were
stored in the database, they would continue to be valid after updating
the code (unless an initdb was forced).

If you didn't do initdb then I'd not expect pg_statistic to get wiped.
Details please?

regards, tom lane

I am not sure what to check that will help.

I fetch a new copy from cvs, make distclean, run configure, and
make. I shutdown the database and then do a make install.
I then check a particular query that I had been noticing having
problems after doing that. I do explain analyse select ...
and get a plan that is typically several times lower than expected.
I then either do an initdb and reload my data or in the last case
I just did a vacuum analyze and things sped up again.

It would be easy to show you the explain analyze output before
the rebuild, the explain analyze after the rebuild and explain
analyze after the vacuum analyze.
What else would be useful to see?

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bruno Wolff III (#3)
Re: vacuum analyze after updating from CVS?

Bruno Wolff III <bruno@wolff.to> writes:

It would be easy to show you the explain analyze output before
the rebuild, the explain analyze after the rebuild and explain
analyze after the vacuum analyze.
What else would be useful to see?

The contents of pg_stats for the table(s) involved, before and after,
might be interesting too.

regards, tom lane

#5Bruno Wolff III
bruno@wolff.to
In reply to: Tom Lane (#4)
Re: vacuum analyze after updating from CVS?

On Sun, Jul 13, 2003 at 11:12:21 -0400,
Tom Lane <tgl@sss.pgh.pa.us> wrote:

Bruno Wolff III <bruno@wolff.to> writes:

It would be easy to show you the explain analyze output before
the rebuild, the explain analyze after the rebuild and explain
analyze after the vacuum analyze.
What else would be useful to see?

The contents of pg_stats for the table(s) involved, before and after,
might be interesting too.

regards, tom lane

I didn't see the effect on my latest upgrade. I will keep watching (dumping
pg_stats just before upgrading) for this for a while and see if it happens
again.