Roadmap

The detailed, dated roadmap lives on oss.theartofpostgresql.com

pgloader is one of four projects — alongside pgcopydb, pg_auto_failover, and pgextwlist — with a shared, actively-maintained roadmap: recent releases, star counts, and what's next, updated as work actually ships.

Adding a New Database Source

Three steps, same for every source

  1. 01

    Driver integration

    v4 (Clojure/JVM) talks to any source through its standard JDBC driver already — the most common case needs no new pgloader-side code at all. v3 (Common Lisp) needs a driver integrated per source; that's how MS SQL support was added, via FreeTDS.

  2. 02

    Catalog queries

    Catalog queries live in plain SQL files, so non-Lisp/non-Clojure hackers can edit them too — see the MS SQL Server queries for an example.

  3. 03

    Default casting rules

    Export the data in a way PostgreSQL is happy about — sometimes more work than it should be, but it's the last step before a new source is done.

Once those three steps are implemented, we have a new pgloader data source. That's pretty simple, actually.

New SQL Objects

Tables and indexes today — not everything an RDBMS can define

pgloader currently supports tables, indexes, and some constraints (not null, unique, primary keys, foreign keys) and sequences. With some more advanced RDBMS, that's not always enough — the main difficulty in adding a new SQL object is deciding how to best map it onto PostgreSQL's own feature set.

Oracle Synonyms are one example: they let tables from one schema be used in another, because in Oracle a schema belongs to a user. PostgreSQL doesn't have that limitation, so it doesn't need synonyms to work around it either.

Compilers, Transpilers

No SQL parser in pgloader — yet

pgloader doesn't look at the SQL definition of objects today; it works from the catalog representation instead. Supporting View Definitions and Stored Procedures means writing SQL compilers that translate SQL text from one dialect to another — early exploration of that lives in the plconvert project.

If you need View Definition support, which means rewriting view SQL in another dialect, let's talk about it.

Fund a Feature: Oracle Support for v4

Open a campaign, hit the threshold, work starts — publicly, under the same license as the rest of pgloader

pgloader has never supported Oracle as a migration source — the gap has been on the record for a decade. This funds building it from scratch, inside v4 (the in-progress Clojure rewrite), over JDBC — the same approach v4 already uses for MySQL, MS SQL Server, and SQLite. Below the funding threshold, development doesn't start and pledges aren't charged; above it, code ships continuously, out in the open.

Contributing

Two ways onto the roadmap

Build it

Fully open source — fork the project, get started, then submit a Pull Request, as usual.

Fork on GitHub

Fund it

Sponsor tiers come with direct roadmap input and reserved development capacity — MS SQL Server support itself was added exactly this way, sponsored by a company that needed it.

Support the project