Re: pg_log_fatal vs pg_log_error - Mailing list pgsql-hackers

From Antonin Houska
Subject Re: pg_log_fatal vs pg_log_error
Date
Msg-id 3980.1560778789@localhost
Whole thread Raw
In response to Re: pg_log_fatal vs pg_log_error  (Michael Paquier <michael@paquier.xyz>)
Responses Re: pg_log_fatal vs pg_log_error
List pgsql-hackers
Michael Paquier <michael@paquier.xyz> wrote:

> On Mon, Jun 17, 2019 at 02:19:30PM +0200, Antonin Houska wrote:
> > I'd expect that the pg_log_fatal() should be called when the error is serious
> > enough to cause premature exit, but I can see cases where even pg_log_error()
> > is followed by exit(1). pg_waldump makes me feel that pg_log_error() is used
> > to handle incorrect user input (before the actual execution started) while
> > pg_log_fatal() handles error conditions that user does not fully control
> > (things that happen during the actual execution). But this is rather a guess.
>
> I agree with what you say when pg_log_fatal should be used for an
> error bad enough that the binary should exit immediately.  In the case
> of pg_waldump, not using pg_log_fatal() makes the code more readable
> because there is no need to repeat the "Try --help for more
> information on a bad argument".

I'd understand this if pg_log_fatal() called exit() itself, but it does not
(unless I miss something).

> Have you spotted other areas of the code where it makes sense to change a
> pg_log_error() + exit to a single pg_log_fatal()?

I haven't done an exhaustive search so far, but as I mentioned above,
pg_log_fatal() does not seem to be "pg_log_error() + exit()".

--
Antonin Houska
Web: https://www.cybertec-postgresql.com



pgsql-hackers by date:

Previous
From: Antonin Houska
Date:
Subject: Re: [Proposal] Table-level Transparent Data Encryption (TDE) and Key Management Service (KMS)
Next
From: Michael Paquier
Date:
Subject: Re: pg_log_fatal vs pg_log_error