RE: Log a warning in pg_createsubscriber for max_slot_wal_keep_size

From: "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>
To: 'Shubham Khanna' <khannashubham1197(at)gmail(dot)com>
Cc: vignesh C <vignesh21(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Peter Smith <smithpb2250(at)gmail(dot)com>
Subject: RE: Log a warning in pg_createsubscriber for max_slot_wal_keep_size
Date: 2025-01-09 07:16:37
Message-ID: OSCPR01MB14966947C373D0BFC7DABAA01F5132@OSCPR01MB14966.jpnprd01.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Dear Shubham,

Thanks for updating the patch. Few comments.

```
+#include "common/int.h" /* include for strtoi64 */
```

I could build the source code without the inclusion. Can you remove?

```
+ max_slot_wal_keep_size = strtoi64(PQgetvalue(res, 0, 6), NULL, 0);
+
+ /* use strtoi64 to convert the string result to a 64-bit integer */
+ if (max_slot_wal_keep_size == 0 && errno != 0)
+ {
+ /* handle conversion error */
+ pg_log_error("Failed to convert max_slot_wal_keep_size to int64");
+ }
```

I'm not sure the error handling is really needed. pg_dump also uses the function and it does
not have such handlings.

```
+ pg_log_debug("publisher: max_slot_wal_keep_size: %ld",
+ max_slot_wal_keep_size);
```

IIUC, "%ld" does not always represent int64 format. Since it is a debug message, isn't it enough to
use INT64_FORMAT macro?

```
+# Configure 'max_slot_wal_keep_size = 1' on the publisher and
+# reload configuration
+$node_p->append_conf('postgresql.conf', 'max_slot_wal_keep_size = 1');
+$node_p->reload;
```

Can you use 'max_slot_wal_keep_size = 10MB' or something to test the handling is correct?

Best regards,
Hayato Kuroda
FUJITSU LIMITED

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robins Tharakan 2025-01-09 07:18:36 Re: Several buildfarm animals fail tests because of shared memory error
Previous Message Nazir Bilal Yavuz 2025-01-09 07:15:20 Re: Make pg_stat_io view count IOs as bytes instead of blocks