Vacuum cancels autovacuum error message confusing?
All:
NOTICE: ALTER TABLE / ADD PRIMARY KEY will create implicit index
"pgbench_branches_pkey" for table "pgbench_branches"
NOTICE: ALTER TABLE / ADD PRIMARY KEY will create implicit index
"pgbench_tellers_pkey" for table "pgbench_tellers"
NOTICE: ALTER TABLE / ADD PRIMARY KEY will create implicit index
"pgbench_accounts_pkey" for table "pgbench_accounts"
vacuum...ERROR: canceling autovacuum task
CONTEXT: automatic analyze of table "bench.public.pgbench_accounts"
ERROR: canceling autovacuum task
CONTEXT: automatic analyze of table "bench.public.pgbench_accounts"
done.
What happened above is that the build of the new pgbench database
triggered an autovacuum, and then pgbench called a manual vacuum,
cancelling the autovacuum.
However, the error message which autovacuum gives does not indicate that
it was superceded by a manual vacuum, which could confuse users and make
them think there's some kind of actual vacuum failure. Is it worth
fixing the error message?
--
-- Josh Berkus
PostgreSQL Experts Inc.
http://www.pgexperts.com
Josh Berkus wrote:
vacuum...ERROR: canceling autovacuum task
CONTEXT: automatic analyze of table "bench.public.pgbench_accounts"
ERROR: canceling autovacuum task
CONTEXT: automatic analyze of table "bench.public.pgbench_accounts"
done.What happened above is that the build of the new pgbench database
triggered an autovacuum, and then pgbench called a manual vacuum,
cancelling the autovacuum.
Isn't this just because you ran the postmaster in the same terminal as
pgbench?
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Isn't this just because you ran the postmaster in the same terminal as
pgbench?
Right, but those messages appear in the logs as well. I'm thinking of
the reaction of anyone reading the logs ... since they wouldn't, at that
time, know about a manual vacuum that happened.
--
-- Josh Berkus
PostgreSQL Experts Inc.
http://www.pgexperts.com
Josh Berkus wrote:
Isn't this just because you ran the postmaster in the same terminal as
pgbench?Right, but those messages appear in the logs as well. I'm thinking of
the reaction of anyone reading the logs ... since they wouldn't, at that
time, know about a manual vacuum that happened.
Eh? I think they could examine pg_stat_user_tables to see the last
vacuum time of the table ... in fact, wouldn't one do exactly that
before reaching any conclusions about this error message?
Or are you saying that each and every VACUUM should emit a LOG message?
You know, so that the user knows that a vacuum happened, manual or
otherwise.
That said, I'm not wedded to that message wording; feel free to propose
something better.
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
That said, I'm not wedded to that message wording; feel free to propose
something better.
Yeah, I'm looking to see if we can determine the difference between an
autovac which was cancelled by vacuum and one which was cancelled for
another reason.
--
-- Josh Berkus
PostgreSQL Experts Inc.
http://www.pgexperts.com
Josh Berkus <josh@agliodbs.com> writes:
vacuum...ERROR: canceling autovacuum task
CONTEXT: automatic analyze of table "bench.public.pgbench_accounts"
ERROR: canceling autovacuum task
CONTEXT: automatic analyze of table "bench.public.pgbench_accounts"
done.
What happened above is that the build of the new pgbench database
triggered an autovacuum, and then pgbench called a manual vacuum,
cancelling the autovacuum.
However, the error message which autovacuum gives does not indicate that
it was superceded by a manual vacuum, which could confuse users and make
them think there's some kind of actual vacuum failure. Is it worth
fixing the error message?
What's to fix? The autovacuum was in fact canceled. What would you
propose doing differently?
regards, tom lane