Skip to content
dbSlice®
Product Who it's for Performance Pricing Blog Guides Support Buy dbSlice

dbSlice / Migrate

Export InterSystems Caché and IRIS data to PostgreSQL

Moving off a legacy Caché system, or feeding PostgreSQL or SQL Server from IRIS? dbSlice connects to both, reads the tables through InterSystems SQL and writes them into the target, from a Windows app or the command line. Run it once to migrate, or on a schedule to keep the new database up to date while the old system is still in use.

Try it free on the Microsoft Store ↗ See pricing

At a glance

  • What it does: moves tables out of InterSystems Caché or IRIS into PostgreSQL or SQL Server through InterSystems SQL, once or on a schedule.
  • Engines: IRIS and legacy Caché as the source, with no ODBC driver to install; any other supported engine, or five NoSQL systems, as the target.
  • What it does not do: convert ObjectScript code, read data that lives only in globals with no SQL mapping, resume a table without a key, or run in real time.
  • Free or paid: try it in the free Microsoft Store version (no license key); writing to a target database needs a Desktop or Server license.

Why this is harder than it looks

Most migration tools and guides cover the opposite direction: loading data into IRIS. Going out of Caché usually means ODBC drivers, export scripts and a lot of manual type fixing. And legacy Caché tables often have no primary key and no usable index, which makes many tools slow or unable to read them in batches.

dbSlice Synchronize tab

What dbSlice does

  • Nothing to install. dbSlice connects to InterSystems IRIS and to legacy Caché out of the box. You do not install or configure an ODBC driver.
  • Namespace-aware. Pick the server, the namespace and the table, as you would in the Management Portal.
  • Legacy tables without an index. When there is no usable key, dbSlice still reads the table efficiently, in one go.
  • Type mapping to the target. If the target table does not exist yet, dbSlice shows the CREATE TABLE script translated to PostgreSQL or SQL Server for your DBA to review and run. It does not create objects in your databases by itself.
  • Any target engine. PostgreSQL, SQL Server, Oracle, MySQL, MariaDB, Firebird or SQLite, and NoSQL targets (MongoDB, Cassandra, Elasticsearch, Couchbase, Redis).
  • Mask on the way. Hide names, e-mails or IDs while copying, for a test or analytics copy that must not carry personal data.

Step by step

  1. Connect to Caché or IRIS: server, port, namespace, user. Choose InterSystems Caché for a legacy server and InterSystems IRIS for IRIS.
  2. Connect to the target, for example PostgreSQL.
  3. Pick the source table (or write a SELECT) and the target table.
  4. Choose the key column, if the table has one. If it has none, dbSlice reads the table in one go, as described above.
  5. Choose the mode: Initial load for the first copy, then Upsert or Insert new for later runs.
  6. Check first: Record Diff compares keys on both sides.
  7. Run, or save the job and schedule it with the CLI while both systems run side by side.

Run it during the transition

A Caché replacement rarely happens in one weekend. Keep the old system as the source of truth and refresh PostgreSQL every night with Upsert. With a column that only grows (a timestamp or a counter), each run reads only rows above the last value it saw.

Deletes in Caché are not detected by incremental runs; schedule a periodic full comparison or a full reload for tables where rows are removed.

What dbSlice does not do

  • It moves data, not code. ObjectScript classes, methods, routines and triggers are not converted. Plan that part separately.
  • It reads through SQL. Data that lives only in globals, with no class or SQL mapping, is not visible to SQL and therefore not to dbSlice. Map it to a class first.
  • Tables without a key cannot resume. A network failure in the middle means starting that table again. Tables with a key can pick up where they stopped.
  • Not real-time. Runs are batch jobs, on demand or scheduled.

The other direction, too

dbSlice also writes into IRIS and Caché, so the same screen loads PostgreSQL or SQL Server data into IRIS, and it can generate an IRIS class from a table schema.

Comparing tools? →

Try it on your own data: the free Microsoft Store version needs no license key.

Try free on the Microsoft Store ↗Buy dbSlice

Related guides

  • SQL Server to MySQL migration, on Windows
  • MySQL to PostgreSQL migration, with a GUI and a sync after cutover
  • Firebird to PostgreSQL migration, on Windows
dbSlice®

Professional data synchronization, migration and reconciliation — for Windows and Linux (Docker).

A Thinwork product

Product

Product Pricing Guides Linux (Docker) Release notes Free version (Microsoft Store) Support FAQ Renew maintenance CLI examples

Legal

Terms of Use Privacy Policy Refund Policy EULA

Company

THINWORK TECNOLOGIA DA INFORMACAO - LTDA
CNPJ 09.166.605/0001-21
Since 2007

Av. Paulista, 1471, Conj. 511, Anexo CP 1722
Bela Vista, São Paulo - SP, 01311-927, Brazil

Sales

+55 (11) 5197-7969 [email protected]

Support hours: Mon–Fri, 9:00–17:00 (UTC−3)

github.com/thinwork Follow @dbsliceapp
© 2026 dbSlice®. All rights reserved. Windows x64 · GUI + CLI · Linux (Docker) · Web

dbSlice® and the dbSlice pizza mascot logo are registered trademarks of Thinwork Tecnologia da Informação Ltda. with the Brazilian National Institute of Industrial Property (INPI).

All other product names, logos and brands are the property of their respective owners and appear here only to identify the systems dbSlice works with. dbSlice is an independent product, not affiliated with, sponsored or endorsed by them. Learn more