dimitri/pgloader

Migrate to PostgreSQL in a single command!

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 4 minutes ago
Added to GitGenius on September 10th, 2026
Created on April 4th, 2010
Open Issues & Pull Requests: 28 (+0)
GitHub issues: Enabled
Number of forks: 612
Total Stargazers: 6,524 (+0)
Total Subscribers: 80 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 60.2 days
Mean response time: 495.7 days
90th percentile: 1623.0 days
Tracked items: 472

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 2% of issues opened in the past year have been closed. Three people close 93% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 22
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,721 days
Stale 30+ days: 19
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • WishList (27)
  • Sponsor needed (22)
  • Contribution (6)
  • How To... Question (5)
  • Good First Issue (4)
  • Needs more testing / information (4)
  • Corner case (2)
  • Solution unclear (2)

Most active issues this week

Detailed Description

pgloader is a data loading tool for PostgreSQL that automates bulk data migration from multiple source databases and file formats.

The tool solves the problem of rigid transactional behavior in PostgreSQL's native COPY command, which halts the entire load operation when encountering a single erroneous row. pgloader instead maintains a separate file of rejected records and continues loading valid data, allowing partial success on problematic datasets. It also performs automatic data reformatting, such as converting MySQL's invalid zero-dates to PostgreSQL NULL values, eliminating manual preprocessing steps.

The tool suits teams migrating entire databases from MySQL, SQLite, SQL Server, or other sources, particularly when data quality is uncertain. It handles schema migration including tables, indexes, foreign keys, and comments, and supports parallel loading for performance. The current version is a complete rewrite in Clojure distributed as a single JAR file requiring only Java, eliminating the native dependencies and Common Lisp runtime that characterized earlier versions. This makes deployment simpler and removes memory exhaustion issues on large migrations, which can be tuned with standard JVM flags. Connection strings use standard JDBC format with driver-specific parameters passed through unchanged, and SSL configuration moves to URI parameters rather than command-line flags.

Development activity shows active maintenance with a major architectural shift underway. The project maintains backward compatibility with the previous version's load file syntax and command-line interface despite the complete rewrite. Docker images are built automatically on every push to the development branch, indicating continuous integration practices. A Debian package for the new version is planned but not yet available, suggesting the team is stabilizing the rewrite before packaging for distribution.