Dear Shubham,
One comment for the API. Currently the patch introduces new option '--remove',
and the short term is '-r'. My suggestion is to use '-R' instead.
Background
==========
IIUC, we've planned to put outut-logs in some files on the directory [1].
This follows what pg_ugprade does.
In pg_uprade, -r means "retain SQL and log files even after successful completion" [2].
Normally logs would be removed after the sucessful upgrade, but they would not with
the option.
If we use -r for removing objects in pg_createsubscriber, it would be conflicted
with the short term of --retain. This is confusing for users.
[1]: https://www.postgresql.org/message-id/60b45b8a-3047-4a21-ba2a-ddb15daa638f%40eisentraut.org
[2]: https://www.postgresql.org/docs/devel/pgupgrade.html
Best regards,
Hayato Kuroda
FUJITSU LIMITED