Re: Printing backtrace of postgres processes

vignesh C <vignesh21@gmail.com>

From: vignesh C <vignesh21@gmail.com>
To: Justin Pryzby <pryzby@telsasoft.com>
Cc: Dilip Kumar <dilipbalaut@gmail.com>, Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>, Daniel Gustafsson <daniel@yesql.se>, Robert Haas <robertmhaas@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Andres Freund <andres@anarazel.de>, Craig Ringer <craig.ringer@enterprisedb.com>, Peter Eisentraut <peter.eisentraut@enterprisedb.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-11-19T10:37:05Z
Lists: pgsql-hackers

Attachments

On Thu, Nov 18, 2021 at 9:52 PM Justin Pryzby <pryzby@telsasoft.com> wrote:
>
> On Wed, Nov 17, 2021 at 08:12:44PM +0530, vignesh C wrote:
> > Attached v14 patch has the fixes for the same.
>
> Thanks for updating the patch.
>
> I cleaned up the docs and comments.  I think this could be nearly "Ready".
>
> If you like the changes in my "fixup" patch (0002 and 0004), you should be able
> to apply my 0002 on top of your 0001.  I'm sure it'll cause some conflicts with
> your 2nd patch, though...

I have slightly modified and taken the changes. I have not taken a few
of the changes to keep it similar to pg_log_backend_memory_contexts.

> This doesn't bump the catversion, since that would cause the patch to fail in
> cfbot every time another commit updates catversion.

I have removed it, since it there in commit  message it is ok.

> Your 0001 patch allows printing backtraces of autovacuum, but the doc says it's
> only for "backends".  Should the change to autovacuum.c be moved to the 2nd
> patch ?  Or, why is autovacuum so special that it should be handled in the
> first patch ?

I had separated the patches so that it is easier for review, I have
merged the changes as few rounds of review is done for the patch. Now
since the patch is merged, this change is handled.
The Attached v15 patch has the fixes for the same.

Regards,
Vignesh

Commits

  1. Perform apply of large transactions by parallel workers.

  2. Enhance pg_log_backend_memory_contexts() for auxiliary processes.

  3. Allow GRANT on pg_log_backend_memory_contexts().

  4. Move Perl test modules to a better namespace

  5. Unify PostgresNode's new() and get_new_node() methods

  6. Add backtrace support for error reporting