Re: [HACKERS] Create subscription with `create_slot=false` andincorrect slot name
От | Robert Haas |
---|---|
Тема | Re: [HACKERS] Create subscription with `create_slot=false` andincorrect slot name |
Дата | |
Msg-id | CA+TgmoaSvUPc4wiErjVRke_SprZC_gf5bFWRHNf1+ft9yUvvHA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] Create subscription with `create_slot=false` andincorrect slot name (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>) |
Ответы |
Re: [HACKERS] Create subscription with `create_slot=false` andincorrect slot name
Re: [HACKERS] Create subscription with `create_slot=false` andincorrect slot name |
Список | pgsql-hackers |
On Wed, May 24, 2017 at 7:31 PM, Peter Eisentraut <peter.eisentraut@2ndquadrant.com> wrote: > On 5/23/17 02:33, Kuntal Ghosh wrote: >>> The command succeed even if slot_name is invalid. That's because slot_name >>> isn't validated. ReplicationSlotValidateName() should be called in >>> parse_subscription_options() to avoid a pilot error. IMHO we should prevent >>> a future error (use of invalid slot name). >>> >> +1. Since, slot_name can be provided even when create_slot is set >> false, it should be validated as well while creating the subscription. > > This came up in a previous thread. It is up to the publishing end what > slot names it accepts. So running the validation locally is incorrect. That argument seems pretty tenuous; surely both ends are PostgreSQL, and the rules for valid slot names aren't likely to change very often. But even if we accept it as true, I still don't like the idea that a DROP can just fail, especially with no real guidance as to how to fix things so it doesn't fail. Ideas: 1. If we didn't create the slot (and have never connected to it?), don't try to drop it. 2. Emit some kind of a HINT telling people about ALTER SUBSCRIPTION .. SET (slot_name = NONE). 3. ??? -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: