On 08/02/2018 05:34 PM, rihad wrote:
On
08/02/2018 04:38 PM, rihad wrote:
Hi all. We see such errors on one of our
own (non-system) tables on Postgres 10.3. They stop both
automatic vacuum & automatic analyze not only on that table,
but on all tables & databases (manual vacuuming works
though). Luckily it's a small (but important) table - less than
1000 rows. Any quick way of fixing it with no downtime? Thanks.
BTW, it's a materialized view, not a table. "refresh materialized
view concurrently" is being run on it regularly, but apparently
doesn't fix the problem.
Answering to myself: this probably relates to this issue:
https://www.postgresql.org/docs/9.4/static/release-9-4-17.html
-
Repair pg_upgrade's failure
to
preserve relfrozenxid for
materialized
views (Tom Lane, Andres Freund)
This oversight could lead to data corruption in materialized
views after an upgrade, manifesting as "could
not access status of transaction" or "found xmin from before relfrozenxid"
errors. The
problem would be more likely to occur in seldom-refreshed
materialized views, or ones that were maintained only with
REFRESH MATERIALIZED VIEW
CONCURRENTLY.
If such corruption is observed, it can be repaired by
refreshing
the materialized view (without CONCURRENTLY).
Fixed on 2018-03-01, so the bug existed not only for 9.4.17, but
for all major versions too.
|