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


Reply via email to