Re: Improve OAuth discovery logging
x4mmm@yandex-team.ru
From: Andrey Borodin <x4mmm@yandex-team.ru>
To: Zsolt Parragi <zsolt.parragi@percona.com>
Cc: Jacob Champion <jacob.champion@enterprisedb.com>,
Chao Li <li.evan.chao@gmail.com>,
Daniel Gustafsson <daniel@yesql.se>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>,
Michael Paquier <michael@paquier.xyz>,
Tom Lane <tgl@sss.pgh.pa.us>
Date: 2026-03-16T07:10:16Z
Lists: pgsql-hackers
> On 16 Mar 2026, at 11:24, Zsolt Parragi <zsolt.parragi@percona.com> wrote: > >> I'm experimenting with an ereport(FATAL_CLIENT_ONLY) option, in the >> same vein as WARNING_CLIENT_ONLY, to try to cover this. > > I attached v7 that uses that and removes the abandoned handling as it > is no longer needed with it. > >> P.S. I would eventually like to record our undocumented SASL profile >> in a test suite (he said, staring at pg-pytest)... > > That would be definitely useful, with the todo comment and this not > being documented I thought that this is a proper way to handle the > issue. Even a proper documentation about it would be a good starting > point. > <v7-0001-Improve-OAuth-discovery-logging.patch> I've took a look into v7. FATAL_CLIENT_ONLY approach LGTM. pg_stat_database.sessions_fatal seems to be still incremented, but, probably, we can live with it. But also we can fix it. Changes to send_message_to_server_log() seems unreachable to me. I think is_log_level_output() returns false for FATAL_CLIENT_ONLY, so edata->output_to_server is never set to true for this level, and these functions are never called. FATAL_CLIENT_ONLY = 23 sits between FATAL (22) and PANIC (24). Consider swapping FATAL and FATAL_CLIENT_ONLY, so that code like this will have more sense: elevel = Max(elevel, errordata[i].elevel); Does this assignment have an effect? + ctx->state = OAUTH_STATE_FINISHED; + ereport(FATAL_CLIENT_ONLY, Thanks! Best regards, Andrey Borodin.
Commits
-
oauth: Don't log discovery connections by default
- e020a897efea 19 (unreleased) landed
-
sasl: Allow backend mechanisms to "abandon" exchanges
- c4ff16339f07 19 (unreleased) landed
-
Add FATAL_CLIENT_ONLY to ereport/elog
- c2bca7cc9621 19 (unreleased) landed
-
oauth_validator: Avoid races in log_check()
- ab8af1db4303 19 (unreleased) cited