Re: Logging queries executed by SPI_execute

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Marcelo Fernandes <marcefern7(at)gmail(dot)com>
Cc: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Logging queries executed by SPI_execute
Date: 2025-02-03 05:45:31
Message-ID: CAFj8pRAKZBhsFQVcmsfFfvEYgv0SeA7TWgjvLRtzCfdB6ws3JQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi

po 3. 2. 2025 v 0:06 odesílatel Marcelo Fernandes <marcefern7(at)gmail(dot)com>
napsal:

> Hi there,
>
> I have been trying to debug what queries an extension is firing. After
> reading
> the code for the extension, I noticed that all the statements are fired
> via the
> SPI interface, most specifically, using the SPI_execute* family of
> functions.
>
> However, the problem is that these statements don't seem to feature in the
> logfile. It has become a bit of a "dead end" for me to fully analyse what
> queries are fired in the end.
>
> My postgresql.conf is fairly simple, but I have added "log_statement =
> 'all'"
> and thus was expecting to see information for these statements too.
>
> Is there anything I am missing? Some configuration or perhaps another way
> to
> find out about these statements?
>
> It may not be relevant, but the extension I am having a look at is
> pg_repack if
> anyone is interested. I am trying to get a deeper understanding of what the
> function repack_apply does.
>

The queries executed by SPI are never executed on the top level. These
queries are marked as nested.

So you need to use auto_explain
https://www.postgresql.org/docs/current/auto-explain.html with active
auto_explain.log_nested_statements

Regards

Pavel

> Thanks,
> Marcelo.
>
>
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Marcelo Fernandes 2025-02-03 07:36:40 Re: What is the story behind _SPI_PLAN_MAGIC?
Previous Message Michel Pelletier 2025-02-03 03:02:16 Re: Using Expanded Objects other than Arrays from plpgsql