Re: pg_log_fatal vs pg_log_error

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Antonin Houska <ah(at)cybertec(dot)at>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: pg_log_fatal vs pg_log_error
Date: 2019-06-17 12:43:48
Message-ID: 20190617124348.GF18917@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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". 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()?
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Paul Guo 2019-06-17 12:53:38 Re: Batch insert in CTAS/MatView code
Previous Message Joe Conway 2019-06-17 12:39:27 Re: [Proposal] Table-level Transparent Data Encryption (TDE) and Key Management Service (KMS)