TopGit tracks dimitri/pgloader on GitHub as part of the Data family. The project has 6.5k stars. Migrate to PostgreSQL in a single command!
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
pgloader is a data loading tool for PostgreSQL, using the COPY command.
Its main advantage over just using COPY or \copy, and over using a
Foreign Data Wrapper, is its transaction behaviour, where pgloader
will keep a separate file of rejected data, but continue trying to
copy good data in your database.
The default PostgreSQL behaviour is transactional, which means that
any erroneous line in the input data (file or remote database) will
stop the entire bulk load for the table.
pgloader also implements data reformatting, a typical example of that
being the transformation of MySQL datestamps 0000-00-00 and
0000-00-00 00:00:00 to PostgreSQL NULL value (because our calendar
never had a year zero).
Version 4 — Clojure/JVM rewrite
pgloader v4 is a full rewrite in Clojure, distributed as a single
self-contained JAR requiring Java 21 or later. It is a drop-in
replacement for v3 and accepts the same .load file syntax and
command-line flags.
Key improvements over v3:
Single JAR — no native dependencies, no SBCL, no shared libraries
JDBC connection strings — use jdbc:mysql://, jdbc:postgresql://,
jdbc:sqlserver:// etc. everywhere; driver-specific parameters pass
through unchanged
Java heap — no more Common Lisp heap exhaustion on large migrations;
tune with standard -Xmx JVM flag
SSL via URI — use ?sslmode=require / ?sslmode=disable in the
connection string instead of --no-ssl-cert-verification
Documentation
Full documentation is available at
https://pgloader.readthedocs.io/.
$ java -jar pgloader.jar --help
pgloader [ option ... ] SOURCE TARGET
--help Show usage and exit.
--version Display pgloader version and exit.
--quiet Be quiet.
--verbose Be verbose.
--debug Display debug level information.
--client-min-messages Filter logs seen at the console (default: info)
--log-min-messages Filter logs seen in the logfile (default: info)
--logfile Filename where to send the logs.
--summary Filename where to copy the summary.
--root-dir Output root directory (default: /tmp/pgloader/).
--list-encodings List pgloader known encodings and exit.
--dry-run Check connections only, don't load anything.
--on-error-stop Stop on first error instead of continuing.
Usage
You can either give a command file to pgloader or run it all from the
command line, see the
pgloader quick start
for more details.
The most recent commit recorded on dimitri/pgloader was 30 days ago, based on the GitHub push timestamp. The repository has 609 forks — one of the better signals of community interest.
Is dimitri/pgloader open source?
TopGit's metadata for dimitri/pgloader does not record a license. Most public repositories on GitHub ARE open source, but the exact terms vary — verify by opening the LICENSE file directly.
The project maintains a homepage at http://pgloader.io. The README tab on this page also usually contains screenshots and a quickstart.
Where do I read more about dimitri/pgloader?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/dimitri/pgloader is the definitive source.
Read full README in the tab above.
Is pgloader worth your time?
ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of pgloader.