PG 17 and GUC variables
FYI, looking at the release notes, I see 15 GUC variables added in this
release, and two removed. That 15 number seemed unusually high so I
thought I would report it.
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com
Only you can decide what is important to you.
On Thu, Jun 20, 2024 at 08:01:19PM -0400, Bruce Momjian wrote:
FYI, looking at the release notes, I see 15 GUC variables added in this
release, and two removed. That 15 number seemed unusually high so I
thought I would report it.
Scanning pg_settings across the two versions, I'm seeing:
- Removed GUCs between 16 and 17:
db_user_namespace
old_snapshot_threshold
trace_recovery_messages
- Added GUCs between 16 and 17:
allow_alter_system
commit_timestamp_buffers
enable_group_by_reordering
event_triggers
huge_pages_status
io_combine_limit
max_notify_queue_pages
multixact_member_buffers
multixact_offset_buffers
notify_buffers
serializable_buffers
standby_slot_names
subtransaction_buffers
summarize_wal
sync_replication_slots
trace_connection_negotiation
transaction_buffers
transaction_timeout
wal_summary_keep_time
So that makes for 3 removed, 19 additions and a +16.
--
Michael
On Thu, Jun 20, 2024 at 10:03 PM Michael Paquier <michael@paquier.xyz> wrote:
On Thu, Jun 20, 2024 at 08:01:19PM -0400, Bruce Momjian wrote:
FYI, looking at the release notes, I see 15 GUC variables added in this
release, and two removed. That 15 number seemed unusually high so I
thought I would report it.Scanning pg_settings across the two versions, I'm seeing:
- Removed GUCs between 16 and 17:
db_user_namespace
old_snapshot_threshold
trace_recovery_messages- Added GUCs between 16 and 17:
allow_alter_system
commit_timestamp_buffers
enable_group_by_reordering
event_triggers
huge_pages_status
io_combine_limit
max_notify_queue_pages
multixact_member_buffers
multixact_offset_buffers
notify_buffers
serializable_buffers
standby_slot_names
subtransaction_buffers
summarize_wal
sync_replication_slots
trace_connection_negotiation
transaction_buffers
transaction_timeout
wal_summary_keep_time
I was looking at trace_connection_negotiation and ran across this
commit removing it's mention from the release notes because it is
undocumented: https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=95cabf542f04b634303f899600ea62fb256a08c2
Why is the right solution to remove it from the release notes rather
than to document it properly? It's not like people won't notice a new
GUC has popped up in their configs. Also, presumaing I'm unerstanding
it's purpose correctly, ISTM it would fit along side other trace_*
gucs in https://www.postgresql.org/docs/current/runtime-config-developer.html#RUNTIME-CONFIG-DEVELOPER.
Robert Treat
https://xzilla.net
On 04/08/2024 06:29, Robert Treat wrote:
I was looking at trace_connection_negotiation and ran across this
commit removing it's mention from the release notes because it is
undocumented: https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=95cabf542f04b634303f899600ea62fb256a08c2Why is the right solution to remove it from the release notes rather
than to document it properly? It's not like people won't notice a new
GUC has popped up in their configs. Also, presumaing I'm unerstanding
it's purpose correctly, ISTM it would fit along side other trace_*
gucs in https://www.postgresql.org/docs/current/runtime-config-developer.html#RUNTIME-CONFIG-DEVELOPER.
Not sure whether it's worth mentioning in release notes, but I think
you're right that it should be listed in that docs section. How about
the attached description?
I see that there are two more developer-only GUCs that are not listed in
the docs:
trace_syncscan
optimize_bounded_sort
There's a comment on them that says "/* this is undocumented because not
exposed in a standard build */", but that seems like a weak reason,
given that many of the other options in that docs section also require
additional build-time options. I think we should add those to the docs
too for the sake of completeness.
--
Heikki Linnakangas
Neon (https://neon.tech)
Attachments:
document-trace_connection_negotiation.patchtext/x-patch; charset=UTF-8; name=document-trace_connection_negotiation.patchDownload
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index a65839a6709..2f0ba3858a4 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -11667,6 +11667,26 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
</listitem>
</varlistentry>
+ <varlistentry id="guc-trace-connection-negotiation" xreflabel="trace_connection_negotiation">
+ <term><varname>trace_connection_negotiation</varname> (<type>boolean</type>)
+ <indexterm>
+ <primary><varname>trace_connection_negotiation</varname> configuration parameter</primary>
+ </indexterm>
+ </term>
+ <listitem>
+ <para>
+ If on, write information to the log about encryption negotiation
+ packets on each client connection. This can be useful for debugging
+ client connectivity issues from the server side. The log messages do
+ not contain sensitive information like encryption keys.
+ </para>
+ <para>
+ This parameter can only be set in the
+ <filename>postgresql.conf</filename> file or on the server command line.
+ </para>
+ </listitem>
+ </varlistentry>
+
<varlistentry id="guc-trace-notify" xreflabel="trace_notify">
<term><varname>trace_notify</varname> (<type>boolean</type>)
<indexterm>
On Sun, Aug 4, 2024 at 4:45 AM Heikki Linnakangas <hlinnaka@iki.fi> wrote:
On 04/08/2024 06:29, Robert Treat wrote:
I was looking at trace_connection_negotiation and ran across this
commit removing it's mention from the release notes because it is
undocumented: https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=95cabf542f04b634303f899600ea62fb256a08c2Why is the right solution to remove it from the release notes rather
than to document it properly? It's not like people won't notice a new
GUC has popped up in their configs. Also, presumaing I'm unerstanding
it's purpose correctly, ISTM it would fit along side other trace_*
gucs in https://www.postgresql.org/docs/current/runtime-config-developer.html#RUNTIME-CONFIG-DEVELOPER.Not sure whether it's worth mentioning in release notes, but I think
you're right that it should be listed in that docs section. How about
the attached description?
Slightly modified version attached which I think is a little more succinct.
I see that there are two more developer-only GUCs that are not listed in
the docs:trace_syncscan
optimize_bounded_sortThere's a comment on them that says "/* this is undocumented because not
exposed in a standard build */", but that seems like a weak reason,
given that many of the other options in that docs section also require
additional build-time options. I think we should add those to the docs
too for the sake of completeness.
Agreed.
Robert Treat
https://xzilla.net
Attachments:
document-trace_connection_negotiation-2.patchapplication/octet-stream; name=document-trace_connection_negotiation-2.patchDownload
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index a65839a6709..2f0ba3858a4 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -11667,6 +11667,26 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
</listitem>
</varlistentry>
+ <varlistentry id="guc-trace-connection-negotiation" xreflabel="trace_connection_negotiation">
+ <term><varname>trace_connection_negotiation</varname> (<type>boolean</type>)
+ <indexterm>
+ <primary><varname>trace_connection_negotiation</varname> configuration parameter</primary>
+ </indexterm>
+ </term>
+ <listitem>
+ <para>
+ If on, log information about encryption negotiation packets for
+ each client connection. This can be useful for debugging
+ client connectivity issues from the server side. The log messages do
+ not contain sensitive information like encryption keys.
+ </para>
+ <para>
+ This parameter can only be set in the
+ <filename>postgresql.conf</filename> file or on the server command line.
+ </para>
+ </listitem>
+ </varlistentry>
+
<varlistentry id="guc-trace-notify" xreflabel="trace_notify">
<term><varname>trace_notify</varname> (<type>boolean</type>)
<indexterm>