diff options
author | Peter Eisentraut <peter@eisentraut.org> | 2024-04-29 10:49:42 +0200 |
---|---|---|
committer | Peter Eisentraut <peter@eisentraut.org> | 2024-04-29 10:49:42 +0200 |
commit | 592a2283721f7143999364ef487f2b4993f5161d (patch) | |
tree | f3f2fc827ee8e775430ef695c7cc635be632b3a8 | |
parent | 5c9f35fc48ea99e59300a267e090e3eafd1b3b0e (diff) | |
download | postgresql-592a2283721f7143999364ef487f2b4993f5161d.tar.gz postgresql-592a2283721f7143999364ef487f2b4993f5161d.zip |
Revert "Add GUC backtrace_on_internal_error"
This reverts commit a740b213d4b4d3360ad0cac696e47e5ec0eb8864.
Subsequent discussion showed that there was interest in a more general
facility to configure when server log events would produce backtraces,
and this existing limited way couldn't be extended in a compatible
way. So the consensus was to revert this for PostgreSQL 17 and
reconsider this topic for PostgreSQL 18.
Discussion: https://www.postgresql.org/message-id/flat/CAGECzQTChkvn5Xj772LB3%3Dxo2x_LcaO5O0HQvXqobm1xVp6%2B4w%40mail.gmail.com#764bcdbb73e162787e1ad984935e51e3
-rw-r--r-- | doc/src/sgml/config.sgml | 27 | ||||
-rw-r--r-- | src/backend/utils/error/elog.c | 8 | ||||
-rw-r--r-- | src/backend/utils/misc/guc_tables.c | 11 | ||||
-rw-r--r-- | src/include/utils/guc.h | 1 |
4 files changed, 3 insertions, 44 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index d8e1282e128..ffb6b023fd6 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -11381,33 +11381,6 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' </listitem> </varlistentry> - <varlistentry id="guc-backtrace-on-internal-error" xreflabel="backtrace_on_internal_error"> - <term><varname>backtrace_on_internal_error</varname> (<type>boolean</type>) - <indexterm> - <primary><varname>backtrace_on_internal_error</varname> configuration parameter</primary> - </indexterm> - </term> - <listitem> - <para> - If this parameter is on and an error with error code XX000 (internal - error; see also <xref linkend="errcodes-appendix"/>) is raised, then a - backtrace is written to the server log together with the error - message. This can be used to debug such internal errors (which should - normally not happen in production). The default is off. - </para> - - <para> - Backtrace support is not available on all platforms, and the quality - of the backtraces depends on compilation options. - </para> - - <para> - Only superusers and users with the appropriate <literal>SET</literal> - privilege can change this setting. - </para> - </listitem> - </varlistentry> - <varlistentry id="guc-debug-discard-caches" xreflabel="debug_discard_caches"> <term><varname>debug_discard_caches</varname> (<type>integer</type>) <indexterm> diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c index 605ff3b0453..d91a85cb2d7 100644 --- a/src/backend/utils/error/elog.c +++ b/src/backend/utils/error/elog.c @@ -497,11 +497,9 @@ errfinish(const char *filename, int lineno, const char *funcname) /* Collect backtrace, if enabled and we didn't already */ if (!edata->backtrace && - ((edata->funcname && - backtrace_functions && - matches_backtrace_functions(edata->funcname)) || - (edata->sqlerrcode == ERRCODE_INTERNAL_ERROR && - backtrace_on_internal_error))) + edata->funcname && + backtrace_functions && + matches_backtrace_functions(edata->funcname)) set_backtrace(edata, 2); /* diff --git a/src/backend/utils/misc/guc_tables.c b/src/backend/utils/misc/guc_tables.c index c68fdc008b6..3fd0b14dd8d 100644 --- a/src/backend/utils/misc/guc_tables.c +++ b/src/backend/utils/misc/guc_tables.c @@ -531,7 +531,6 @@ int log_temp_files = -1; double log_statement_sample_rate = 1.0; double log_xact_sample_rate = 0; char *backtrace_functions; -bool backtrace_on_internal_error = false; int temp_file_limit = -1; @@ -771,16 +770,6 @@ StaticAssertDecl(lengthof(config_type_names) == (PGC_ENUM + 1), struct config_bool ConfigureNamesBool[] = { { - {"backtrace_on_internal_error", PGC_SUSET, DEVELOPER_OPTIONS, - gettext_noop("Log backtrace for any error with error code XX000 (internal error)."), - NULL, - GUC_NOT_IN_SAMPLE - }, - &backtrace_on_internal_error, - false, - NULL, NULL, NULL - }, - { {"enable_seqscan", PGC_USERSET, QUERY_TUNING_METHOD, gettext_noop("Enables the planner's use of sequential-scan plans."), NULL, diff --git a/src/include/utils/guc.h b/src/include/utils/guc.h index 8d1fe04078a..e4a594b5e80 100644 --- a/src/include/utils/guc.h +++ b/src/include/utils/guc.h @@ -267,7 +267,6 @@ extern PGDLLIMPORT int log_temp_files; extern PGDLLIMPORT double log_statement_sample_rate; extern PGDLLIMPORT double log_xact_sample_rate; extern PGDLLIMPORT char *backtrace_functions; -extern PGDLLIMPORT bool backtrace_on_internal_error; extern PGDLLIMPORT int temp_file_limit; |