Hi,
 
During copying, the copy_subdir_files function cleans up the target directory with the remove_new_subdir(new_subdir, true) function.
 


----------------
Кому: 'ls7777' (ls7777@yandex.ru);
Копия: pgsql-hackers@postgresql.org, orlovmg@gmail.com, amit.kapila16@gmail.com, Masahiko Sawada (sawada.mshk@gmail.com);
Тема: Patch for migration of the pg_commit_ts directory;
27.05.2026, 10:25, "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>:

Dear Sergey,

While considering the feature once again, I came up with another issue.

When pg_upgrade migrates objects to a new instance, it normally checks whether
the new instance does not have existing objects. E.g., check_new_cluster_is_empty()
checks if no tables exist, and check_new_cluster_replication_slots() ensures
there are no logical slots.

Based on that, how should we handle the commit timestamp? Since the patch simply
copies the pg_commit_ts subdir, existing entries in the new cluster will be overwritten.
So we may have to check if the commit_ts entries are empty when the pg_upgrade
command runs, but not sure how to do that.

Best regards,
Hayato Kuroda
FUJITSU LIMITED