<div>Hi,</div><div> </div><div><div>During copying, the copy_subdir_files function cleans up the target directory with the remove_new_subdir(new_subdir, true) function.</div><div> </div></div><div><br /></div><div><br /></div><div>----------------</div>
<div>Кому: 'ls7777' (ls7777(at)yandex(dot)ru);<br /></div>
<div>Копия: pgsql-hackers(at)postgresql(dot)org, orlovmg(at)gmail(dot)com, amit(dot)kapila16(at)gmail(dot)com, Masahiko Sawada (sawada(dot)mshk(at)gmail(dot)com);<br /></div>
<div>Тема: Patch for migration of the pg_commit_ts directory;<br /></div>
<div>27.05.2026, 10:25, "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>:<br /></div>
<blockquote><p>Dear Sergey,<br /><br />While considering the feature once again, I came up with another issue.<br /><br />When pg_upgrade migrates objects to a new instance, it normally checks whether<br />the new instance does not have existing objects. E.g., check_new_cluster_is_empty()<br />checks if no tables exist, and check_new_cluster_replication_slots() ensures<br />there are no logical slots.<br /><br />Based on that, how should we handle the commit timestamp? Since the patch simply<br />copies the pg_commit_ts subdir, existing entries in the new cluster will be overwritten.<br />So we may have to check if the commit_ts entries are empty when the pg_upgrade<br />command runs, but not sure how to do that.<br /><br />Best regards,<br />Hayato Kuroda<br />FUJITSU LIMITED<br /> <br /></p></blockquote>