From 2cdf131c46e631addfc386f6106e52a1b8cc3a70 Mon Sep 17 00:00:00 2001 From: Alexander Korotkov Date: Wed, 29 Nov 2023 01:41:48 +0200 Subject: Use larger segment file names for pg_notify This avoids the wraparound in async.c and removes the corresponding code complexity. The maximum amount of allocated SLRU pages for NOTIFY / LISTEN queue is now determined by the max_notify_queue_pages GUC. The default value is 1048576. It allows to consume up to 8 GB of disk space which is exactly the limit we had previously. Author: Maxim Orlov, Aleksander Alekseev, Alexander Korotkov, Teodor Sigaev Author: Nikita Glukhov, Pavel Borisov, Yura Sokolov Reviewed-by: Jacob Champion, Heikki Linnakangas, Alexander Korotkov Reviewed-by: Japin Li, Pavel Borisov, Tom Lane, Peter Eisentraut, Andres Freund Reviewed-by: Andrey Borodin, Dilip Kumar, Aleksander Alekseev Discussion: https://postgr.es/m/CACG%3DezZe1NQSCnfHOr78AtAZxJZeCvxrts0ygrxYwe%3DpyyjVWA%40mail.gmail.com Discussion: https://postgr.es/m/CAJ7c6TPDOYBYrnCAeyndkBktO0WG2xSdYduTF0nxq%2BvfkmTF5Q%40mail.gmail.com --- src/backend/utils/misc/guc_tables.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/backend/utils/misc/guc_tables.c') diff --git a/src/backend/utils/misc/guc_tables.c b/src/backend/utils/misc/guc_tables.c index b764ef69980..5c6f5af8736 100644 --- a/src/backend/utils/misc/guc_tables.c +++ b/src/backend/utils/misc/guc_tables.c @@ -2687,6 +2687,16 @@ struct config_int ConfigureNamesInt[] = NULL, NULL, NULL }, + { + {"max_notify_queue_pages", PGC_POSTMASTER, RESOURCES_DISK, + gettext_noop("Sets the maximum number of allocated pages for NOTIFY / LISTEN queue."), + NULL, + }, + &max_notify_queue_pages, + 1048576, 64, INT_MAX, + NULL, NULL, NULL + }, + { {"wal_decode_buffer_size", PGC_POSTMASTER, WAL_RECOVERY, gettext_noop("Buffer size for reading ahead in the WAL during recovery."), -- cgit v1.2.3