RE: Log a warning in pg_createsubscriber for max_slot_wal_keep_size
Hayato Kuroda (Fujitsu) <kuroda.hayato@fujitsu.com>
From: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>
To: 'Shubham Khanna' <khannashubham1197@gmail.com>
Cc: vignesh C <vignesh21@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Peter Smith <smithpb2250@gmail.com>
Date: 2025-01-06T02:29:53Z
Lists: pgsql-hackers
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.
Best regards,
Hayato Kuroda
FUJITSU LIMITED
Commits
-
Raise a WARNING for max_slot_wal_keep_size in pg_createsubscriber.
- 217919dd0954 18.0 landed
-
Improve grammar of options for command arrays in TAP tests
- ce1b0f9da03e 18.0 cited