Why would queries fail with 'could not stat file' after CLUSTER?

From: David Schnur <dnschnur(at)gmail(dot)com>
To: pgsql-admin(at)postgresql(dot)org
Subject: Why would queries fail with 'could not stat file' after CLUSTER?
Date: 2012-04-09 16:12:05
Message-ID: CAANiQE=wJH6ZZBAqfxRC6D7XFm_fB_0bChTtcpm_P8_HpxcQ_g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

The software I develop bundles a Postgres 8.3.15 database for storage.
Several users are reporting errors like this:

ProgrammingError: could not stat file "base/16384/52212305.1": Permission
denied

I'm unable to reproduce this myself, but it's clearly a real issue. The
response to all previous reports of this that I can find was 'check your
permissions'. I had the user who reported this most recently do that, and
can't see any permissions issue. There is no AV, backup or indexing task
that should be accessing the cluster. The problem appears exclusively on
Windows, though that might be a coincidence, since most of our users are on
Windows. A directory listing a few hours after the error shows no file
with that name.

Virtually all instances of the problem happen during our weekly maintenance
task. It CLUSTERs about 10-15 tables, then runs various queries, including
selecting pg_database_size and selecting reltuples from pg_class, to assess
the database's contents. The errors happen when running these queries; the
CLUSTERs themselves always succeed. Those same queries are run
successfully at other times during the week, without the preceding CLUSTERs.

Is this a bug? How might I collect more information without shipping the
user a new build? The Postgres log, at least at notice level, doesn't
appear to show anything more useful than the error message.

Thanks,

David

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Raghavendra 2012-04-09 17:06:08 Re: Why would queries fail with 'could not stat file' after CLUSTER?
Previous Message Dave Johansen 2012-04-09 02:15:13 Re: libpqxx for x86 builds of RHEL?