RE: Patch for migration of the pg_commit_ts directory
Hayato Kuroda (Fujitsu) <kuroda.hayato@fujitsu.com>
From: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>
To: 'ls7777' <ls7777@yandex.ru>
Cc: "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>, "orlovmg@gmail.com" <orlovmg@gmail.com>, "amit.kapila16@gmail.com" <amit.kapila16@gmail.com>, Masahiko Sawada <sawada.mshk@gmail.com>
Date: 2026-05-27T05:24:54Z
Lists: pgsql-hackers
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