mirror of
https://github.com/dimitri/pgloader.git
synced 2026-05-04 10:31:02 +02:00
Add a Feature Matrix to the documentation.
That helps having both an overview of what pgloader is capable of doing with a database migration, and also documenting that some sources don't have the full support for some features yet.
This commit is contained in:
parent
2cafa8360c
commit
ec071af0ad
@ -6,6 +6,18 @@
|
||||
Welcome to pgloader's documentation!
|
||||
====================================
|
||||
|
||||
pgloader loads data from various sources into PostgreSQL. It can transform
|
||||
the data it reads on the fly and submit raw SQL before and after the
|
||||
loading. It uses the `COPY` PostgreSQL protocol to stream the data into the
|
||||
server, and manages errors by filling a pair of *reject.dat* and
|
||||
*reject.log* files.
|
||||
|
||||
Thanks to being able to load data directly from a database source, pgloader
|
||||
also supports from migrations from other productions to PostgreSQL. In this
|
||||
mode of operations, pgloader handles both the schema and data parts of the
|
||||
migration, in a single unmanned command, allowing to implement **Continuous
|
||||
Migration**.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Table Of Contents:
|
||||
|
||||
@ -53,6 +53,47 @@ PostgreSQL <http://mysqltopgsql.com/project/>`_ webpage.
|
||||
In order to be able to follow this great methodology, you need tooling to
|
||||
implement the third step in a fully automated way. That's pgloader.
|
||||
|
||||
Features Matrix
|
||||
---------------
|
||||
|
||||
Here's a comparison of the features supported depending on the source
|
||||
database engine. Most features that are not supported can be added to
|
||||
pgloader, it's just that nobody had the need to do so yet.
|
||||
|
||||
========================== ======= ====== ====== =========== =========
|
||||
Feature SQLite MySQL MS SQL PostgreSQL Redshift
|
||||
========================== ======= ====== ====== =========== =========
|
||||
One-command migration ✓ ✓ ✓ ✓ ✓
|
||||
Continuous Migration ✓ ✓ ✓ ✓ ✓
|
||||
Schema discovery ✓ ✓ ✓ ✓ ✓
|
||||
Partial Migrations ✓ ✓ ✓ ✓ ✓
|
||||
Schema only ✓ ✓ ✓ ✓ ✓
|
||||
Data only ✓ ✓ ✓ ✓ ✓
|
||||
Repeatable (DROP+CREATE) ✓ ✓ ✓ ✓ ✓
|
||||
User defined casting rules ✓ ✓ ✓ ✓ ✓
|
||||
Encoding Overrides ✗ ✓ ✗ ✗ ✗
|
||||
On error stop ✓ ✓ ✓ ✓ ✓
|
||||
On error resume next ✓ ✓ ✓ ✓ ✓
|
||||
Pre/Post SQL commands ✓ ✓ ✓ ✓ ✓
|
||||
Post-Schema SQL commands ✗ ✓ ✓ ✓ ✓
|
||||
Primary key support ✓ ✓ ✓ ✓ ✓
|
||||
Foreign key support ✓ ✓ ✓ ✓ ✗
|
||||
Incremental data loading ✓ ✓ ✓ ✓ ✓
|
||||
Online ALTER schema ✓ ✓ ✓ ✓ ✓
|
||||
Materialized views ✗ ✓ ✓ ✓ ✓
|
||||
Distribute to Citus ✗ ✓ ✓ ✓ ✓
|
||||
========================== ======= ====== ====== =========== =========
|
||||
|
||||
For more details about what the features are about, see the specific
|
||||
reference pages for your database source.
|
||||
|
||||
For some of the features, missing support only means that the feature is not
|
||||
needed for the other sources, such as the capability to override MySQL
|
||||
encoding metadata about a table or a column. Only MySQL in this list is left
|
||||
completely unable to guarantee text encoding. Or Redshift not having foreign
|
||||
keys.
|
||||
|
||||
|
||||
Commands
|
||||
--------
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user