Re: ps command does not show walsender's connected db

Fujii Masao <masao.fujii@oss.nttdata.com>

From: Fujii Masao <masao.fujii@oss.nttdata.com>
To: bt22nakamorit <bt22nakamorit@oss.nttdata.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-10-07T07:59:48Z
Lists: pgsql-hackers

On 2022/10/06 22:30, bt22nakamorit wrote:
> Hi,
> 
> When walsender process is evoked for logical replication, walsender is connected to a database of the subscriber.
> Naturally, ones would want the name of the connected database to show in the entry of ps command for walsender.
> In detail, running ps aux during the logical replication shows results like the following:
> postgres=# \! ps aux | grep postgres;
> ...
> ACTC-I\+ 14575  0.0  0.0 298620 14228 ?        Ss   18:22   0:00 postgres: walsender ACTC-I\nakamorit [local] S
> 
> However, since walsender is connected to a database of the subscriber in logical replication,

s/subscriber/publisher ?


> it should show the database name, as in the following:
> postgres=# \! ps aux | grep postgres
> ...
> ACTC-I\+ 15627  0.0  0.0 298624 13936 ?        Ss   15:45   0:00 postgres: walsender ACTC-I\nakamorit postgres
> 
> Showing the database name should not apply in streaming replication though since walsender process is not connected to any specific database.
> 
> The attached patch adds the name of the connected database to the ps entry of walsender in logical replication, and not in streaming replication.
> 
> Thoughts?

+1

Thanks for the patch!

-
+		printf("fork child process\n");
+		printf("	am_walsender: %d\n", am_walsender);
+		printf("	am_db_walsender: %d\n", am_db_walsender);

The patch seems to include the debug code accidentally.
Except this, the patch looks good to me.

Regards,

-- 
Fujii Masao
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION



Commits

  1. Add the database name to the ps display of logical WAL senders