pgsql: Add GUC backtrace_on_internal_error

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Add GUC backtrace_on_internal_error
Date: 2023-12-30 10:47:46
Message-ID: E1rJWsb-00Ccx9-M7@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Add GUC backtrace_on_internal_error

When enabled (default off), this logs a backtrace anytime elog() or an
equivalent ereport() for internal errors is called.

This is not well covered by the existing backtrace_functions, because
there are many equally-worded low-level errors in many functions. And
if you find out where the error is, then you need to manually rewrite
the elog() to ereport() to attach the errbacktrace(), which is
annoying. Having a backtrace automatically on every elog() call could
be very helpful during development for various kinds of common errors
from palloc, syscache, node support, etc.

Discussion: https://www.postgresql.org/message-id/flat/ba76c6bc-f03f-4285-bf16-47759cfcab9e(at)eisentraut(dot)org

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/a740b213d4b4d3360ad0cac696e47e5ec0eb8864

Modified Files
--------------
doc/src/sgml/config.sgml | 27 +++++++++++++++++++++++++++
src/backend/utils/error/elog.c | 8 +++++---
src/backend/utils/misc/guc_tables.c | 11 +++++++++++
src/include/utils/guc.h | 1 +
4 files changed, 44 insertions(+), 3 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2023-12-30 19:19:43 pgsql: pg_stat_statements: Add TAP test for testing restarts
Previous Message Peter Eisentraut 2023-12-29 23:33:43 Re: pgsql: Make all Perl warnings fatal