Skip to content

Commit ec071af

Browse files
committed
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.
1 parent 2cafa83 commit ec071af

File tree

2 files changed

+53
-0
lines changed

2 files changed

+53
-0
lines changed

docs/index.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,18 @@
66
Welcome to pgloader's documentation!
77
====================================
88

9+
pgloader loads data from various sources into PostgreSQL. It can transform
10+
the data it reads on the fly and submit raw SQL before and after the
11+
loading. It uses the `COPY` PostgreSQL protocol to stream the data into the
12+
server, and manages errors by filling a pair of *reject.dat* and
13+
*reject.log* files.
14+
15+
Thanks to being able to load data directly from a database source, pgloader
16+
also supports from migrations from other productions to PostgreSQL. In this
17+
mode of operations, pgloader handles both the schema and data parts of the
18+
migration, in a single unmanned command, allowing to implement **Continuous
19+
Migration**.
20+
921
.. toctree::
1022
:maxdepth: 2
1123
:caption: Table Of Contents:

docs/intro.rst

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,47 @@ PostgreSQL <http://mysqltopgsql.com/project/>`_ webpage.
5353
In order to be able to follow this great methodology, you need tooling to
5454
implement the third step in a fully automated way. That's pgloader.
5555

56+
Features Matrix
57+
---------------
58+
59+
Here's a comparison of the features supported depending on the source
60+
database engine. Most features that are not supported can be added to
61+
pgloader, it's just that nobody had the need to do so yet.
62+
63+
========================== ======= ====== ====== =========== =========
64+
Feature SQLite MySQL MS SQL PostgreSQL Redshift
65+
========================== ======= ====== ====== =========== =========
66+
One-command migration ✓ ✓ ✓ ✓ ✓
67+
Continuous Migration ✓ ✓ ✓ ✓ ✓
68+
Schema discovery ✓ ✓ ✓ ✓ ✓
69+
Partial Migrations ✓ ✓ ✓ ✓ ✓
70+
Schema only ✓ ✓ ✓ ✓ ✓
71+
Data only ✓ ✓ ✓ ✓ ✓
72+
Repeatable (DROP+CREATE) ✓ ✓ ✓ ✓ ✓
73+
User defined casting rules ✓ ✓ ✓ ✓ ✓
74+
Encoding Overrides ✗ ✓ ✗ ✗ ✗
75+
On error stop ✓ ✓ ✓ ✓ ✓
76+
On error resume next ✓ ✓ ✓ ✓ ✓
77+
Pre/Post SQL commands ✓ ✓ ✓ ✓ ✓
78+
Post-Schema SQL commands ✗ ✓ ✓ ✓ ✓
79+
Primary key support ✓ ✓ ✓ ✓ ✓
80+
Foreign key support ✓ ✓ ✓ ✓ ✗
81+
Incremental data loading ✓ ✓ ✓ ✓ ✓
82+
Online ALTER schema ✓ ✓ ✓ ✓ ✓
83+
Materialized views ✗ ✓ ✓ ✓ ✓
84+
Distribute to Citus ✗ ✓ ✓ ✓ ✓
85+
========================== ======= ====== ====== =========== =========
86+
87+
For more details about what the features are about, see the specific
88+
reference pages for your database source.
89+
90+
For some of the features, missing support only means that the feature is not
91+
needed for the other sources, such as the capability to override MySQL
92+
encoding metadata about a table or a column. Only MySQL in this list is left
93+
completely unable to guarantee text encoding. Or Redshift not having foreign
94+
keys.
95+
96+
5697
Commands
5798
--------
5899

0 commit comments

Comments
 (0)