- Home
- Cloud Migration Tools
- pgloader
pgloader
What it is
pgloader is a self-hosted tool for migrating database and flat-file data into PostgreSQL. It translates schemas, applies casting rules, and loads data in parallel. Listed sources include MySQL, MariaDB, MS SQL Server, SQLite, CSV, fixed-width files, and DBF; Oracle support is not built yet. Its migration pipeline fetches the source catalog, prepares the target, runs parallel COPY, creates indexes in parallel, and completes the schema.
MySQL migrations can translate enums, convert TINYINT(1) to boolean, handle zero dates, and look up credentials in .my.cnf. The MS SQL Server path includes Azure AD authentication, sequence migration, and multi-column foreign keys. File imports can separate rejected rows after a failed COPY transaction while accepted rows continue to load. Custom casting rules can go in a .load file. Version 3 in Common Lisp is the stable packaged release; v4 is a pre-release JAR requiring Java 21 or later. The free Community tier offers best-effort GitHub help. Paid support starts at €100/mo.
For and against
For
- Loads data from databases and flat-file formats.
- Runs COPY and index creation in parallel.
- Custom casting rules can be set in a .load file.
- Separates rejected file-import rows while accepted rows load.
- Free Community tier includes best-effort GitHub help.
Against
- Oracle support is not built yet.
- Version 4 is a pre-release.
- Version 4 requires Java 21 or later.
- Continuous replication is not supported.
The verdict
pgloader covers multiple database and file sources, with translation and parallel loading features for PostgreSQL migrations. The stable packaged release is v3; v4 remains a pre-release, and paid support starts at €100/mo.
Who it suits
pgloader suits teams moving supported database or flat-file data into PostgreSQL who can run self-hosted software on Linux. It offers a free Community tier for evaluating or non-critical use, with paid support options.
Plans and prices
Community
Evaluating or non-critical use · Best-effort support through GitHub
Read 2 Oct 2026 · pgloader.io
Supporter
Priority queue · Answered within a few days
Read 2 Oct 2026 · pgloader.io
Professional
Patches triaged under an SLA · Land in the next release
Read 2 Oct 2026 · pgloader.io
Sponsor
Roadmap input · Development bandwidth reserved
Read 2 Oct 2026 · pgloader.io
Fast-Lane
One urgent blocker · Guaranteed resolution in the next release · No subscription required
Read 2 Oct 2026 · pgloader.io
Per-Release Sponsor
Prioritized PRs and features · Credited in release notes · One sponsor per release
Read 2 Oct 2026 · pgloader.io
On the record
- Custom rules
- Custom casting rules can be specified in a .load file.pgloader.io · read 2 Oct 2026
- File imports
- For file sources, failed COPY transactions are retried by separating rejected rows while allowing accepted rows to load.pgloader.io · read 2 Oct 2026
- Limits
- The roadmap says pgloader works from catalog representations and does not currently parse SQL object definitions; view definitions and stored procedures would require SQL translation support.pgloader.io · read 2 Oct 2026
- Maker
- The maker identifies Dimitri Fontaine as pgloader’s author and maintainer since 2005.pgloader.io · read 2 Oct 2026
- Migration sources
- The site lists MySQL, MariaDB, MS SQL Server, SQLite, CSV, fixed-width, and DBF sources; Oracle support is not built yet.pgloader.io · read 2 Oct 2026
- MySQL features
- The MySQL path includes enum-to-type translation, TINYINT(1)-to-boolean conversion, zero-date handling, and .my.cnf credential lookup.pgloader.io · read 2 Oct 2026
- Pipeline
- Its five stages are catalog fetch, target preparation, parallel COPY, parallel index creation, and schema completion.pgloader.io · read 2 Oct 2026
- Purpose
- pgloader migrates data into PostgreSQL from databases and flat files using schema translation, casting rules, and parallel loading.pgloader.io · read 2 Oct 2026
- Runtime
- Version 4 is distributed as a self-contained JAR and requires Java 21 or later.pgloader.io · read 2 Oct 2026
- Security
- The site mentions Azure AD authentication for MS SQL Server but does not state security certifications or compliance attestations.pgloader.io · read 2 Oct 2026
- SQL Server features
- The MS SQL Server path includes Azure AD authentication, sequence migration, and multi-column foreign key support.pgloader.io · read 2 Oct 2026
- Support
- The free Community tier receives best-effort help through GitHub, while paid tiers offer priority handling and related support benefits.pgloader.io · read 2 Oct 2026
- Version status
- The site describes v4 as a pre-release and v3 in Common Lisp as the stable, packaged release.pgloader.io · read 2 Oct 2026
The review
pgloader is a self-hosted tool for migrating supported databases and flat files into PostgreSQL. It suits teams that can run their own migration workflow and need data loading alongside schema conversion. Its focused PostgreSQL pipeline is useful, though the stable release is v3 and SQL object definitions remain outside its current translation scope.
Overview
Migration runs through five stages: catalog fetch, target preparation, parallel COPY, parallel index creation, and schema completion. The parallel loading and index work make pgloader a practical choice for moving supported source data into PostgreSQL. Discovery and assessment and dependency mapping are supported, but continuous replication is not, so it does not cover an ongoing synchronization need.
Sources include MySQL, MariaDB, MS SQL Server, SQLite, CSV, fixed-width files, and DBF. Oracle support is not built yet. Dimitri Fontaine has been pgloader’s author and maintainer since 2005.
Key features
Conversions for common source quirks
The MySQL path translates enums, converts TINYINT(1) to boolean, handles zero dates, and can find credentials in .my.cnf. For MS SQL Server, Azure AD authentication, sequence migration, and multi-column foreign keys cover several schema and connection details that matter during a move. Custom casting rules in a .load file let teams define additional conversions for their data.
File imports that can recover from rejected rows
When a file import hits rejected rows, pgloader retries failed COPY transactions after separating those rows, allowing accepted rows to continue loading. That is useful when a file contains a limited number of problematic records; it does not remove the need to identify and handle the rejected data.
Translation boundary and release status
pgloader works from catalog representations and does not currently parse SQL object definitions. View definitions and stored procedures therefore need SQL translation support that the roadmap says is not yet in place. That matters for migrations where those objects are part of the move. Version 3 in Common Lisp is the stable packaged release; v4 is a pre-release distributed as a self-contained JAR and requires Java 21 or later.
Pricing
pgloader uses a freemium model. The Community tier costs nothing and is intended for evaluation or non-critical use, with best-effort help through GitHub. It is the right fit when priority response is not required; it offers no promised response window.
Supporter costs €100/mo and adds a priority queue with answers within a few days. It suits users who need a defined support response while running migrations. Professional costs €800/mo and adds patches triaged under an SLA for inclusion in the next release, a stronger fit when fixes need a release path. Sponsor costs €2,000/mo and includes roadmap input plus reserved development bandwidth for organizations seeking influence and capacity.
Fast-Lane is a one-time €3,000/issue for one urgent blocker, with guaranteed resolution in the next release and no subscription required. Per-Release Sponsor is a one-time €10,000/release for prioritized pull requests and features, credit in release notes, and one sponsor slot per release. These options fit specific urgent or release-focused needs rather than recurring general support. The paid tiers raise the support and development commitment at substantially higher prices; the free tier remains best-effort. Seat counts, quotas, and trial terms are not part of these plans.
Platforms
pgloader is available for Linux and is self-hosted. The v4 runtime’s Java 21-or-later requirement applies to that pre-release package.
Who it's for
pgloader is a good match for teams moving supported databases or files into PostgreSQL that can operate migration software themselves. Its source-specific conversion rules are especially relevant to MySQL and MS SQL Server migrations, while custom casting provides room for data-specific adjustments. Look elsewhere if the project depends on continuous replication, Oracle as a source, or translating views and stored procedures as part of the migration.
Pros and cons
- Pro: Parallel data loading and index creation give migrations a built-in staged workflow.
- Pro: MySQL and MS SQL Server paths handle concrete conversion and schema details, reducing some source-specific migration work.
- Pro: File imports can continue with accepted rows after rejected rows are separated from failed COPY transactions.
- Con: It does not provide continuous replication, so it cannot serve as an ongoing data synchronization tool.
- Con: SQL object definitions are not parsed, leaving views and stored procedures beyond its current translation capability.
- Con: The stable packaged release is v3; v4 remains a pre-release and requires Java 21 or later.
- Con: Oracle is not among its supported sources.
Alternatives
Cloud Migration Tools is a useful starting point for comparing tools across cloud migration needs.
- Azure Application Insights may suit readers seeking a paid service with a free plan and usage-based Azure Monitor Logs ingestion, including the first 5 GB/month per billing account at no charge.
- Striim is worth considering for readers who want a freemium option with a free trial and a Developer plan capped at 25 million events per month.
- Amazon Database Migration Service may fit AWS users who want a paid service with a free tier that offers $100 in credits, potentially another $100 for activating foundational services, valid for up to 12 months.
- AWS Schema Conversion Tool is a free option for readers who need a schema conversion tool on Linux or Windows.
- AWS Transform MGN (formerly AWS Application Migration Service) is an alternative for source-server migration, with a 90-day free period measured as 2,160 hours when used continuously.
- Google Cloud Migration Center may suit readers seeking free cost estimates and assessments, while other Google Cloud products may incur charges.
- Google Migrate to Containers is a free option for migrating workloads to Google Cloud, with charges possible for supporting Google Cloud services such as compute, storage, and networking.
- Ora2Pg is a free alternative for readers looking for software specifically associated with Oracle migration.
Verdict
Choose pgloader for a self-hosted move from its supported database or file sources into PostgreSQL when parallel loading and source-aware conversions are priorities. The Community tier makes evaluation and non-critical use free, with paid support for teams that need priority handling or development commitments. Look elsewhere when you need continuous replication, Oracle input, or translation of SQL object definitions.