Re: Vacuum Question - Mailing list pgsql-general

From Tom Lane
Subject Re: Vacuum Question
Date
Msg-id 28630.960313999@sss.pgh.pa.us
Whole thread Raw
In response to Re: Vacuum Question  (Ed Loehr <eloehr@austin.rr.com>)
List pgsql-general
Ed Loehr <eloehr@austin.rr.com> writes:
>>>>> % while test 1; do echo -n "`date`: "; psql -d pdb -c "vacuum analyze;
>>>>> select count(*) from foo;"; sleep 3; done
>>>>>
>>>>> This seems to consistently crash after the first vacuum with the
>>>>> following message:
>>
>> This is a known gotcha that's got nothing to do with any sort of
>> concurrency.  You can't safely send a VACUUM followed by anything
>> else in a single query string.

> Well, I thought that select count(*) might've been causing a problem, so
> I experimented without it and found the same problem.  Doesn't seem to
> happen with 'vacuum'or 'vacuum analyze foo', only 'vacuum analyze'...

I can't reproduce any problem with just a "vacuum" (with or without
analyze) and no following command.

I did, however, notice that very occasionally the inserting process
would spit out weird error messages like "Function '(int4)' does not
exist" and "init_fcache: null probin for procedure 481".  This seems
to be due to VACUUM (on system tables) causing syscache entries to be
flushed at unexpected times.  I've committed patches for the two cases
I observed, but there may be more lurking...

            regards, tom lane

pgsql-general by date:

Previous
From: Karel Zak
Date:
Subject: Re: How to backup db with large objects?
Next
From: Travis Bauer
Date:
Subject: Re: Precision of calculated numeric fields