Hi,
 
Why do I need the --pg-commit-ts key?
1. Users who do not need to migrate the pg_commit_ts directory (regardless of the value of the pg_commit_timestamp parameter) will receive the usual pg_upgrade behavior.
2. Users who need to move pg_commit_ts directory may already have their own scripts for copying pg_commit_ts directory, and decide to continue using them. There will also be no surprises for them when using pg_upgrage.
3. pg_commit_ts migration turned out to be more complicated than I expected. And the pg_replication_origin migration was affected. I did the migration the way I can (update tables), but it's architecturally incorrect. Therefore, using the command line key can be used as a temporary solution that will be removed after creating an architecturally correct solution.
 
If the current solution with update pg_replication_origin is not suitable. I will remove these updates and will not migrate pg_commit_ts if there is a non-empty pg_replication_origin in the old cluster. After migration, the user should not receive conflict messages. This may give the impression of an erroneous migration.
I would like to keep the command line key.
 
----------------
Кому: 'ls7777' ([email protected]), Masahiko Sawada ([email protected]);
Копия: [email protected], [email protected], [email protected];
Тема: Patch for migration of the pg_commit_ts directory;
27.03.2026, 07:12, "Hayato Kuroda (Fujitsu)" <[email protected]>:

Dear Sergey,

Sorry for being late, I was busy in another project.
Not sure we have enough time to rush this for PG19 because some new parts are
added recently.

Personally considered, the patch might be able to separate into two parts.
0001 contains changes to migrate the replication origin, and 0002 contains to
migrate the commit_ts directory. For 0001, we may need a new SQL function to
migrate replication origins, and it could be used only while in the binary upgrade
mode like binary_upgrade_add_sub_rel_state(). We must not directly update the
system catalog via UPDATE command. 0002 might be the same as what we discussed
earlier.
 

 1. Added the --pg-commit-ts command line key for pg_upgrade.
 Migration of the pg_commit_ts directory will be performed only if the user explicitly wishes.


I cannot find the reason why you changed here. Can you share me your opinion?


Best regards,
Hayato Kuroda
FUJITSU LIMITED
 

Reply via email to