From: | Corey Huinker <corey(dot)huinker(at)gmail(dot)com> |
---|---|
To: | Mike <miketheman(at)gmail(dot)com> |
Cc: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: Emit namespace in post-copy output |
Date: | 2021-06-23 21:46:10 |
Message-ID: | CADkLM=c0HO=om=+3R1JKj9rtjp9k5C7TOYC8s66d5BBzSu928Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Jun 22, 2021 at 6:08 PM Mike <miketheman(at)gmail(dot)com> wrote:
> When running a VACUUM or CLUSTER command, the namespace name is not part
> of the emitted message.
>
> Using `vacuumdb` CLI tool recently with multiple jobs, I found that
> reading the output messages harder to match the relations with their
> namespaces.
>
> Example:
>
> INFO: vacuuming "sendgrid.open"
> INFO: vacuuming "mailgun.open"
> ...
> INFO: "open": found 0 removable, 31460776 nonremovable row versions in
> 1358656 pages
> DETAIL: 0 dead row versions cannot be removed yet.
> CPU 31.35s/261.26u sec elapsed 1620.68 sec.
> ...
>
> In this example. the user can't readily tell which `open` relation was
> completed.
>
> Attached is a patch using existing functions to include the namespace in
> the output string.
>
> Looking forward to feedback!
> -Mike Fiedler
>
I've added this to the open commitfest:
https://commitfest.postgresql.org/33/3200/
The change is quite simple, just 3 lines, adding the schema name to two
different lines of output.
As such, there is no obvious documentation to change, though I can imagine
that we have sample output from vacuum, vacuumdb or cluster somewhere that
would need to be updated.
I cobbled together a very simple test:
~/pgdata$ /usr/local/pgsql/bin/psql postgres
psql (14beta2)
Type "help" for help.
postgres=# create database mike_test;
CREATE DATABASE
postgres=# \c mike_test
You are now connected to database "mike_test" as user "corey".
mike_test=# create schema foo;
CREATE SCHEMA
mike_test=# create table foo.bar(x integer);
CREATE TABLE
mike_test=# \q
mike_test=# VACUUM FULL VERBOSE foo.bar;
INFO: vacuuming "foo.bar"
INFO: "foo.bar": found 0 removable, 0 nonremovable row versions in 0 pages
DETAIL: 0 dead row versions cannot be removed yet.
CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s.
VACUUM
And of course vacuumdb
~/pgdata$ /usr/local/pgsql/bin/vacuumdb --full --verbose mike_test
--table=foo.bar
vacuumdb: vacuuming database "mike_test"
INFO: vacuuming "foo.bar"
INFO: "foo.bar": found 0 removable, 0 nonremovable row versions in 0 pages
DETAIL: 0 dead row versions cannot be removed yet.
CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s.
So far, so good.
From | Date | Subject | |
---|---|---|---|
Next Message | David Rowley | 2021-06-23 22:27:06 | Re: Deadlock risk while inserting directly into partition? |
Previous Message | Fabien COELHO | 2021-06-23 20:01:28 | Re: pgbench logging broken by time logic changes |