Re: Log a warning in pg_createsubscriber for max_slot_wal_keep_size
От | Peter Smith |
---|---|
Тема | Re: Log a warning in pg_createsubscriber for max_slot_wal_keep_size |
Дата | |
Msg-id | CAHut+PtKU-z2f-oYFLWB8k4r9T1q7VNaJ6+C1fuVAv6Bxb-5RQ@mail.gmail.com обсуждение исходный текст |
Ответ на | RE: Log a warning in pg_createsubscriber for max_slot_wal_keep_size ("Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>) |
Ответы |
Re: Log a warning in pg_createsubscriber for max_slot_wal_keep_size
|
Список | pgsql-hackers |
On Mon, Jan 6, 2025 at 1:29 PM Hayato Kuroda (Fujitsu) <kuroda.hayato@fujitsu.com> wrote: > > Dear Shubham, > > Thanks for creating a patch. I have one comment about it. > > check_publisher() assumed that the SQL function `pg_catalog.current_setting('max_slot_wal_keep_size')` > will return the numeric, but it just return the text representation. I.e., if the parameter is > set to 10MB, the function returns like below: > > ``` > postgres=# SELECT * FROM pg_catalog.current_setting('max_slot_wal_keep_size'); > current_setting > ----------------- > 10MB > (1 row) > ``` > > Your patch can work well because atoi() ignores the latter part of the string, > e.g., "10MB" is converted to "10", but this is not clean. I suggest either of > 1) accepting the value as the string, or 2) using an SQL function pg_size_bytes() > to get max_slot_wal_keep_size. > Hi Shubham. Kuroda-san gave a couple of ideas above and you chose the option 2. FWIW, recently I've been thinking that option 1 might have been a better choice, because: i) Using strtoi64 for a GUC value seems to be very rare. I didn't find any other examples of what you've ended up doing in v8-0001. ii) When you display the value in the pg_log_debug it would be better to display the same human-readable format that the user configured instead of some possibly huge int64 value iii) AFAIK, we only need to check this against "-1". The actual value is of no real importance to the patch, so going to extra trouble to extract an int64 that we don't care about seems unnecessary ====== Kind Regards, Peter Smith. Fujitsu Australia
В списке pgsql-hackers по дате отправления: