Hi
I take a look into the patch, and here some comments.
1.
+
+ ereport(WARNING,
+ (errmsg("could not wait for the termination of the backend with PID %d within %ld milliseconds",
+ pid, timeout)));
+
The code use %ld to print int64 type.
How about use INT64_FORMAT, which looks more appropriate.
2.
+ if (timeout <= 0)
+ {
+ ereport(WARNING,
+ (errmsg("timeout cannot be negative or zero: %ld", timeout)));
+ PG_RETURN_BOOL(r);
+ }
The same as 1.
3.
+pg_terminate_backend_and_wait(PG_FUNCTION_ARGS)
+{
+ int pid = PG_GETARG_DATUM(0);
+pg_wait_backend(PG_FUNCTION_ARGS)
+{
+ int pid = PG_GETARG_INT32(0);
The code use different macro to get pid,
How about use PG_GETARG_INT32(0) for each one.
I changed the status to 'wait on anthor'.
The others of the patch LGTM,
I think it can be changed to Ready for Committer again, when this comment is confirmed.
Best regards,
houzj