Re: speed up a logical replica setup
От | Peter Eisentraut |
---|---|
Тема | Re: speed up a logical replica setup |
Дата | |
Msg-id | 96a45e74-bd83-422b-bad3-acb52d0ff5f4@eisentraut.org обсуждение исходный текст |
Ответ на | Re: speed up a logical replica setup (vignesh C <vignesh21@gmail.com>) |
Ответы |
Re: speed up a logical replica setup
|
Список | pgsql-hackers |
On 18.03.24 08:18, vignesh C wrote: > 1) Maximum size of the object name is 64, we can have a check so that > we don't specify more than the maximum allowed length: > + case 3: > + if (!simple_string_list_member(&opt.replslot_names, optarg)) > + { > + simple_string_list_append(&opt.replslot_names, optarg); > + num_replslots++; > + } > + else > + { > + pg_log_error("duplicate replication slot \"%s\"", optarg); > + exit(1); > + } > + break; > > If we allow something like this: > ./pg_createsubscriber -U postgres -D data_N2/ -P "port=5431 > user=postgres" -p 5432 -s /home/vignesh/postgres/inst/bin/ -d db1 -d > db2 -d db3 --replication-slot="testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttes1" > --replication-slot="testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttes2" > --replication-slot="testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttes3" > In this case creation of replication slot will fail: > pg_createsubscriber: error: could not create replication slot > "testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttes" on > database "db2": ERROR: replication slot > "testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttes" > already exists I think this is fine. The server can check whether the names it is given are of the right size. We don't need to check it again in the client. > 2) Similarly here too: > + case 4: > + if (!simple_string_list_member(&opt.sub_names, optarg)) > + { > + simple_string_list_append(&opt.sub_names, optarg); > + num_subs++; > + } > + else > + { > + pg_log_error("duplicate subscription \"%s\"", optarg); > + exit(1); > + } > + break; > > If we allow something like this: > ./pg_createsubscriber -U postgres -D data_N2/ -P "port=5431 > user=postgres" -p 5432 -s /home/vignesh/postgres/inst/bin/ -d db1 -d > db2 -d db3 --subscription=testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttes1 > --subscription=testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttes2 > --subscription=testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttes3 > > Subscriptions will be created with the same name and later there will > be a problem when setting replication progress as there will be > multiple subscriptions with the same name. Could you clarify this problem?
В списке pgsql-hackers по дате отправления: