Re: Proposal: Save user's original authenticated identity for logging - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: Proposal: Save user's original authenticated identity for logging
Date
Msg-id YFML4MDZVWWuIBTF@paquier.xyz
Whole thread Raw
In response to Proposal: Save user's original authenticated identity for logging  (Jacob Champion <pchampion@vmware.com>)
Responses Re: Proposal: Save user's original authenticated identity for logging  (Michael Paquier <michael@paquier.xyz>)
List pgsql-hackers
On Mon, Mar 15, 2021 at 03:50:48PM +0000, Jacob Champion wrote:
>          # might need to retry if logging collector process is slow...
>          my $max_attempts = 180 * 10;
>          my $first_logfile;
>          for (my $attempts = 0; $attempts < $max_attempts; $attempts++)
>          {
>              $first_logfile = slurp_file($node->data_dir . '/' . $lfname);
> -            last if $first_logfile =~ m/\Q$expect_log_msg\E/;
> +
> +            # Don't include previously matched text in the search.
> +            $first_logfile = substr $first_logfile, $current_log_position;
> +            if ($first_logfile =~ m/\Q$expect_log_msg\E/g)
> +            {
> +                $current_log_position += pos($first_logfile);
> +                last;
> +            }
> +
>              usleep(100_000);

Looking at 0001, I am not much a fan of relying on the position of the
matching pattern in the log file.  Instead of relying on the logging
collector and one single file, why not just changing the generation of
the logfile and rely on the output of stderr by restarting the server?
That means less tests, no need to wait for the logging collector to do
its business, and it solves your problem.  Please see the idea with
the patch attached.  Thoughts?
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: Kyotaro Horiguchi
Date:
Subject: Re: shared-memory based stats collector
Next
From: Peter Eisentraut
Date:
Subject: Re: Since '2001-09-09 01:46:40'::timestamp microseconds are lost when extracting epoch