Dear Vignesh,
Thank you for reviewing! PSA new patchset.
> > Additionally, I added a checking functions in 0003
> > According to pg_resetwal and other functions, the length of
> CHECKPOINT_SHUTDOWN
> > record seems (SizeOfXLogRecord + SizeOfXLogRecordDataHeaderShort +
> sizeof(CheckPoint)).
> > Therefore, the function ensures that the difference between current insert
> position
> > and confirmed_flush_lsn is less than (above + page header).
>
> Logical replication slots can be created only if wal_level >= logical,
> currently we do not have any check to see if wal_level >= logical if
> "--include-logical-replication-slots" option is specified. If
> include-logical-replication-slots is specified with pg_upgrade, we
> will be creating replication slots after a lot of steps like
> performing prechecks, analyzing, freezing, deleting, restoring,
> copying, setting related objects and then create replication slot,
> where we will be erroring out after a lot of time(Many cases
> pg_upgrade takes a lot of hours to perform these operations). I feel
> it would be better to add a check in the beginning itself somewhere in
> check_new_cluster to see if wal_level is set appropriately in case of
> include-logical-replication-slot option to detect and throw an error
> early itself.
I see your point. Moreover, I think max_replication_slots != 0 must be also checked.
I added a checking function and related test in 0001.
Best Regards,
Hayato Kuroda
FUJITSU LIMITED