Re: VACUUM anomoly: FIXED in 8.0.4 - Mailing list pgsql-general

From Dean Gibson (DB Administrator)
Subject Re: VACUUM anomoly: FIXED in 8.0.4
Date
Msg-id 43597B1F.8090404@ultimeth.com
Whole thread Raw
In response to VACUUM anomoly  ("Dean Gibson (DB Administrator)" <postgresql4@ultimeth.com>)
List pgsql-general
The problem described below in 7.4.x, does not occur in 8.0.4, even with
near-simultaneous VACUUMs and updating.  Previously, if one VACUUM was
run within a minute or two of the other, the problem below occurred.

-- Dean

On 2005-09-19 09:26, Dean Gibson (DB Administrator) wrote:
> Simultaneous VACUUMs in tables in different schemas appear to
> interact.  Observed in v7.4.5 & 7.4.8 on Fedora Core 1.
>
> Details:
>
> I have a database consisting of several schemas.  Two of these schemas
> are contain eight tables each (about 700K rows each), which are
> populated and updated daily via eMail from US Gov't data.  The other
> schemas contain smaller tables that are regenerated via PSQL scripts
> after each update to the first two schemas, as follows:
>
> 1. A schema with a unique, temporary name (based on the process id) is
> created, and the tables are created, indexes added, and then a
> "VACUUM  VERBOSE ANALYZE" is performed
> 2. In a transaction block, the previous schema is renamed to another
> temporary name, and the new schema is renamed to its permanent name.
> 3. Since any outside views that were defined on the schema now point
> to the previous schema, the views are recreated with CREATE OR REPLACE
> VIEW statements.
> 4. The previous schema is DROPped.
>
> In order to detect problems, the PSQL output is logged and compared to
> a reference copy.  In order to make the comparison useful, all
> sequences of digits are replaced by a single "#" before the
> comparison.  The result of the comparison is eMailed to me.
>
> If the two daily updates eMailed from the gov't arrive at the same
> time (as is often the case), then two instances of the above script
> (but with different process ids) are started at the same time.  This
> should not be a problem, as two separate temporary schemas are created
> in parallel, and step #2 above should insure that the resulting
> desired schema is replaced in an atomic fashion.
>
> All this works fine, EXCEPT for one thing:  when I observe the eMailed
> comparison, there are no differences UNLESS there have been two
> scripts run in parallel as described above.  If that happens,
> everything is still fine (there is no data corruption), except for the
> differences file from one of the scripts, which shows the following
> from the "VACUUM  VERBOSE ANALYZE" in step #1 above:
>
> 05:16:20 ===== Begin dbDiffs for GenAppNew =====
> 185,186c185
> < DETAIL:  # index row versions were removed.
> < # index pages have been deleted, # are currently reusable.
> ---
> > DETAIL:  # index pages have been deleted, # are currently reusable.
> 189,190c188
> < DETAIL:  # index row versions were removed.
> < # index pages have been deleted, # are currently reusable.
> ---
> > DETAIL:  # index pages have been deleted, # are currently reusable.
> 193,194c191
> < DETAIL:  # index row versions were removed.
> < # index pages have been deleted, # are currently reusable.
> ---
> > DETAIL:  # index pages have been deleted, # are currently reusable.
> 197,198c194
> < DETAIL:  # index row versions were removed.
> < # index pages have been deleted, # are currently reusable.
> ---
> > DETAIL:  # index pages have been deleted, # are currently reusable.
> 200,201d195
> < INFO:  "_Pending": removed # row versions in # pages
> < DETAIL:  CPU #.#s/#.#u sec elapsed #.# sec.
> 05:16:20 ------- End dbDiffs for GenAppNew -----
>
> I can recreate this problem at will, by just manually starting the
> script twice in quick succession without changing any of the data.  As
> a result, I don't believe the differences above are the result of any
> differences in the data.
>
> If I rerun the script, the output shows no differences from the
> reference log file.
>
> Is this a bug in VACUUM, or something to be expected?
>
> Sincerely, Dean


pgsql-general by date:

Previous
From: "Scott Marlowe"
Date:
Subject: Re: How much slower are numerics?
Next
From: "Guy Rouillier"
Date:
Subject: Re: Newbie Questions