Re: Invalid primary_slot_name triggers warnings in all processes on reload

Chao Li <li.evan.chao@gmail.com>

From: Chao Li <li.evan.chao@gmail.com>
To: Fujii Masao <masao.fujii@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-09-18T23:21:06Z
Lists: pgsql-hackers

> On Sep 19, 2025, at 00:48, Fujii Masao <masao.fujii@gmail.com> wrote:
> 
> Fujii Masao
> <v2-0001-Make-invalid-primary_slot_name-follow-standard-GU.patch>


```
+error:
+	if (elevel == 0)
+	{
+		GUC_check_errdetail("%s", err_msg);
+		if (err_hint != NULL)
+			GUC_check_errhint("%s", err_hint);
+	}
+	else
+		ereport(elevel,
+				(errcode(err_code),
+				 errmsg("%s", err_msg),
+				 (err_hint != NULL) ? errhint("%s", err_hint) : 0));
+
+	return false;
```

Do we need to free memory pointed by err_msg and err_hint that were allocated from psprintf()? The code comment of psprintf() says caller is responsible for free the memory.

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/




Commits

  1. Make invalid primary_slot_name follow standard GUC error reporting.