Repository navigation
Conversation
|
🚀 IvorySQL-Docs Preview Ready
|
|
Thank you for your contribution. These documents are very valuable to IvorySQL, and they are exactly what the project needs right now. |
|
Thanks for adding this bilingual guide. Before merging, could you address the following points in both versions?
The structure looks useful; these changes would make the migration procedures safer and more reliable to follow. |
- Remove ivorysql.compatible_mode from ivorysql.conf examples (GUC_DISALLOW_IN_FILE); document that compatibility mode is determined by the connection port - Move global objects/tablespaces migration before data restore and add --no-tablespaces guidance - Require stopping source writes before final dump for offline paths - Fix replica identity guidance: set REPLICA IDENTITY FULL on the source for PK-less tables, add detection query - Expand cutover checks: pg_subscription_rel srsubstate='r' plus LSN comparison and data validation - Sequence sync script now covers all non-system schemas with qualified names
|
Thanks @jiaoshuntian for the careful review! All six points have been addressed in the latest commit (CN and EN):
|
|
🚀 IvorySQL-Docs Preview Ready
|
|
Thanks for addressing the previous feedback. I tested commit 6a34e92 with the assistance of Codex, using PostgreSQL 16.15 as the source database and IvorySQL 5.6 as the target database. All three migration paths successfully transferred the test data, and logical replication handled both the initial copy and subsequent INSERT/UPDATE/DELETE operations. Three points still need correction in both language versions:
The other previously raised points passed validation within this test’s scope. All temporary test instances and files have been cleaned up. |
- Fix pg_subscription_rel readiness query: regsubscription type does not exist; join pg_subscription and select subname - LSN final-apply check: no longer require exact equality; run CHECKPOINT after write stop, wait for latest_end_lsn to catch up (>=) and stop advancing - psql -f for globals.sql and full_cluster.sql now uses -v ON_ERROR_STOP=1; document that default behavior continues on error and may place tables in default tablespace
|
Thanks again @jiaoshuntian for testing the changes and the precise feedback. All three points are fixed in the latest commit (CN and EN):
|
|
🚀 IvorySQL-Docs Preview Ready
|
|
One issue remains in Path 2: adding ON_ERROR_STOP=1 makes the restore stop at: ERROR: role "postgres" already exists The command exits with code 3 before creating the application database, because the dump contains CREATE ROLE postgres; while the target already has that role. Please add instructions in both language versions to inspect full_cluster.sql and remove conflicting role-creation statements before importing. Path 1 currently explains this only for globals.sql. After removing just the conflicting CREATE ROLE postgres; statement, the restore succeeded and all 100 test rows were restored. Please keep ON_ERROR_STOP=1 so genuine restore failures remain visible. |
- Path 2: document that full_cluster.sql contains CREATE ROLE postgres, which already exists on the IvorySQL target - Add pre-import steps: list role creation statements, compare with existing target roles, comment out conflicting CREATE ROLE lines - Explain that ON_ERROR_STOP=1 exits with code 3 before the database is created when a role conflict remains; keep the flag after resolving conflicts
|
Thanks @jiaoshuntian, good catch - and thanks for re-testing with the change in place. Fixed in both language versions. Path 2 now has a new section "Resolve role conflicts before import" ahead of the import command:
CN and EN have the same section structure, and no "error aborts the restore" wording remains in either version. |
|
🚀 IvorySQL-Docs Preview Ready
|
|
One additional point needs correction before merging: the paragraph advising against pg_upgrade conflicts with the existing operation guide. IvorySQL provides a PostgreSQL-to-IvorySQL upgrade path using its own pg_upgrade tool with -g (--using-ora-pg). This is documented in operation_guide.adoc, and the option is also present in the installed IvorySQL 5.6 tool. Please replace the blanket recommendation against pg_upgrade and the unsupported claim about compatibility components not being initialized correctly. Instead, explain that this path requires the target IvorySQL version’s tool, the appropriate options, compatibility checks, and post-upgrade validation, then link to the operation guide. This guide can remain focused on logical migration methods without implying that the documented pg_upgrade path is unsupported. |
- Remove the blanket recommendation against pg_upgrade and the unsupported initialization claim - Describe the documented physical upgrade path (target-version tool, -g/--using-ora-pg, compatibility check, post-upgrade validation) and link to operation_guide.adoc
|
Thanks @jiaoshuntian - corrected in both language versions. The The guide's scope is now explicitly the three logical migration paths, without implying that the documented |
|
🚀 IvorySQL-Docs Preview Ready
|
Summary
Adds a new bilingual guide for migrating an existing PostgreSQL installation to IvorySQL, resolving #226.
The guide covers:
pg_upgradeis not recommended for vanilla PostgreSQL → IvorySQL upgradesBoth Chinese and English versions are included, with nav entries added under the Data Migration section.
Closes #226