Re: Optionally automatically disable logical replication subscriptions on error
От | Amit Kapila |
---|---|
Тема | Re: Optionally automatically disable logical replication subscriptions on error |
Дата | |
Msg-id | CAA4eK1K_JFSFrAkr_fgp3VX6hTSmjK=wNs4Tw8rUWHGp0+Bsaw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Optionally automatically disable logical replication subscriptions on error (Mark Dilger <mark.dilger@enterprisedb.com>) |
Ответы |
Re: Optionally automatically disable logical replication subscriptions on error
|
Список | pgsql-hackers |
On Mon, Jun 21, 2021 at 10:55 AM Mark Dilger <mark.dilger@enterprisedb.com> wrote: > > > On Jun 20, 2021, at 10:11 PM, Amit Kapila <amit.kapila16@gmail.com> wrote: > > > > However, I see a different case where there could be > > multiple failing xids and that can happen during initial table sync > > where multiple workers failed due to some error. I am not sure your > > patch would be able to capture all such failed transactions because > > you are recording this information in pg_subscription and not in > > pg_subscription_rel. > > Right, I wasn't trying to capture everything, just enough to give the user a reasonable indication of what went wrong. My patch was designed around the idea that the user would need to figure out how to fix the subscriber side priorto re-enabling the subscription. As such, I wasn't bothered with trying to store everything, just enough to give theuser a clue where to look. > Okay, but the clue will be pretty random because you might end up just logging one out of several errors. > I don't mind if you want to store more information, and maybe that needs to be stored somewhere else. Do you believepg_subscription_rel is a suitable location? > It won't be sufficient to store information in either pg_subscription_rel or pg_susbscription. I think if we want to store the required information in a catalog then we need to define a new catalog (pg_subscription_conflicts or something like that) with information corresponding to each rel in subscription (srsubid oid (Reference to subscription), srrelid oid (Reference to relation), <columns for error_info>). OTOH, we can choose to send the error information to stats collector which will then be available via stat view and update system catalog to disable the subscription but there will be a risk that we might send info of failed transaction to stats collector but then fail to update system catalog to disable the subscription. -- With Regards, Amit Kapila.
В списке pgsql-hackers по дате отправления: