mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Add 'logical_decoding_mode' GUC.
This enables streaming or serializing changes immediately in logical decoding. This parameter is intended to be used to test logical decoding and replication of large transactions for which otherwise we need to generate the changes till logical_decoding_work_mem is reached. This helps in reducing the timing of existing tests related to logical replication of in-progress transactions and will help in writing tests for for the upcoming feature for parallelly applying large in-progress transactions. Author: Shi yu Reviewed-by: Sawada Masahiko, Shveta Mallik, Amit Kapila, Dilip Kumar, Kuroda Hayato, Kyotaro Horiguchi Discussion: https://postgr.es/m/OSZPR01MB63104E7449DBE41932DB19F1FD1B9@OSZPR01MB6310.jpnprd01.prod.outlook.com
This commit is contained in:
@ -395,6 +395,12 @@ static const struct config_enum_entry ssl_protocol_versions_info[] = {
|
||||
{NULL, 0, false}
|
||||
};
|
||||
|
||||
static const struct config_enum_entry logical_decoding_mode_options[] = {
|
||||
{"buffered", LOGICAL_DECODING_MODE_BUFFERED, false},
|
||||
{"immediate", LOGICAL_DECODING_MODE_IMMEDIATE, false},
|
||||
{NULL, 0, false}
|
||||
};
|
||||
|
||||
StaticAssertDecl(lengthof(ssl_protocol_versions_info) == (PG_TLS1_3_VERSION + 2),
|
||||
"array length mismatch");
|
||||
|
||||
@ -4877,6 +4883,17 @@ struct config_enum ConfigureNamesEnum[] =
|
||||
NULL, NULL, NULL
|
||||
},
|
||||
|
||||
{
|
||||
{"logical_decoding_mode", PGC_USERSET, DEVELOPER_OPTIONS,
|
||||
gettext_noop("Allows streaming or serializing each change in logical decoding."),
|
||||
NULL,
|
||||
GUC_NOT_IN_SAMPLE
|
||||
},
|
||||
&logical_decoding_mode,
|
||||
LOGICAL_DECODING_MODE_BUFFERED, logical_decoding_mode_options,
|
||||
NULL, NULL, NULL
|
||||
},
|
||||
|
||||
/* End-of-list marker */
|
||||
{
|
||||
{NULL, 0, 0, NULL, NULL}, NULL, 0, NULL, NULL, NULL, NULL
|
||||
|
Reference in New Issue
Block a user