RE: pg_recvlogical requires -d but not described on the documentation

Поиск
Список
Период
Сортировка
От Hayato Kuroda (Fujitsu)
Тема RE: pg_recvlogical requires -d but not described on the documentation
Дата
Msg-id OSCPR01MB149668F472C57FEBDCC480E90F5DE2@OSCPR01MB14966.jpnprd01.prod.outlook.com
обсуждение исходный текст
Ответ на RE: pg_recvlogical requires -d but not described on the documentation  ("Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>)
Ответы Re: pg_recvlogical requires -d but not described on the documentation
Список pgsql-hackers
Dear Fujii-san, David,

> > BTW, I'm curious why --dbname isn't required for the --drop-slot action.
> 
> I'm analyzing around here...
>

Actually, replication slots can be dropped from another database where it created,
or even from the streaming replication connection.
I forked the new thread which fixes the description [1].

Based on the fact, there are two approaches to fix:

1. Fix not to raise fatal error like:

```
@@ -950,7 +950,7 @@ main(int argc, char **argv)
        if (!RunIdentifySystem(conn, NULL, NULL, NULL, &db_name))
                exit(1);
 
-       if (db_name == NULL)
+       if (!do_drop_slot && db_name == NULL)
                pg_fatal("could not establish database-specific replication connection");
```

db_name == NULL means that streaming replication connection has been established,
so other operations are not allowed.

2. Fix documentation

We keep the current restriction and clarify it. For the reportability, it is
OK for me to also modify the code like:

```
@@ -881,7 +881,7 @@ main(int argc, char **argv)
                exit(1);
        }
 
-       if (!do_drop_slot && dbname == NULL)
+       if (dbname == NULL)
```

Thought?

[1]:
https://www.postgresql.org/message-id/OSCPR01MB14966C6BE304B5BB2E58D4009F5DE2%40OSCPR01MB14966.jpnprd01.prod.outlook.com

Best regards,
Hayato Kuroda
FUJITSU LIMITED 


В списке pgsql-hackers по дате отправления: