DB Migration using SQLgateway
Thanks to @Yuri Marx we have seen a very nice example for DB migration from Postgres to IRIS.
My personal problem is the use of DBeaver as a migration tool.
Especially as one of the strengths of IRIS ( and also Caché) before is the availability of the
SQLgateways that allow access to any external Db as long as for them an access usinig
JDBC or ODBC is available. So I extended the package to demonstrate this.
It is a classic OEX package with a complete Docker.
The SQLgateway is installed during Docker build and the required jdbcdriver for Linux
is included in this repo In order to make this demo faster, the size of tables to migrate
have been shrunk a bit.
How to test
All migration actions can be executed directly from SMP.
Verify the gateway connection in
SMP> Administration> Configuration >Connectivity >SqlGateway_Configuration
To test Connection click edit
and Test Connection
- verify Connection successful
- Be patient at this point. Postgres Containers sometimes take quite some time to talk to you.
- Wait a little bit, reload the page in browser and try the test again.
Identifying the source tables. In SMP > Change to Namespace USER then step to
SMP >Explorers >SQL >Wizards > Data Migration
Set required import parameters
- Destination Namespace
- Type = TABLE
- Gateway = postgres >>> now the first connection is established and you select
- Schema = public
- Tables to migrate = all
Identify target but change schema to be OEX compatible from public to dc_public
- don't forget to click change all
- we migrate Definitions and Data so both sides are selected
Skipping special settings we use defaults we start the task in background
Now we check the results and see everything was working without Errors
- You might see errors if tables depend on the content not yet migrated.
- And wait for completions until the status shows Done
We terminate the Migration Wizzard and return to normal table view filtered by dc*
- All 8 tables are visible and show meaningful columns
Selecting a table and clicking on OpenTable shows reasonable contents
A look into the related generated Class Definitions confirms the result and successful completion.