Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit3ef97e7

Browse files
committed
doc: Add section about logical replication restrictions
1 parent30681c8 commit3ef97e7

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed

‎doc/src/sgml/logical-replication.sgml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -299,6 +299,76 @@
299299
</para>
300300
</sect1>
301301

302+
<sect1 id="logical-replication-restrictions">
303+
<title>Restrictions</title>
304+
305+
<para>
306+
Logical replication currently has the following restrictions or missing
307+
functionality. These might be addressed in future releases.
308+
</para>
309+
310+
<itemizedlist>
311+
<listitem>
312+
<para>
313+
The database schema and DDL commands are not replicated. The initial
314+
schema can be copied by hand using <literal>pg_dump
315+
--schema-only</literal>. Subsequent schema changes would need to be kept
316+
in sync manually. (Note, however, that there is no need for the schemas
317+
to be absolutely the same on both sides.) Logical replication is robust
318+
when schema definitions change in a live database: When the schema is
319+
changed on the publisher and replicated data starts arriving at the
320+
subscriber but does not fit into the table schema, replication will error
321+
until the schema is updated. In many cases, intermittent errors can be
322+
avoided by applying additive schema changes to the subscriber first.
323+
</para>
324+
</listitem>
325+
326+
<listitem>
327+
<para>
328+
Sequence data is not replicated. The data in serial or identity columns
329+
backed by sequences will of course be replicated as part of the table,
330+
but the sequence itself would still show the start value on the
331+
subscriber. If the subscriber is used as a read-only database, then this
332+
should typically not be a problem. If, however, some kind of switchover
333+
or failover to the subscriber database is intended, then the sequences
334+
would need to be updated to the latest values, either by copying the
335+
current data from the publisher (perhaps
336+
using <command>pg_dump</command>) or by determining a sufficiently high
337+
value from the tables themselves.
338+
</para>
339+
</listitem>
340+
341+
<listitem>
342+
<para>
343+
<command>TRUNCATE</command> commands are not replicated. This can, of
344+
course, be worked around by using <command>DELETE</command> instead. To
345+
avoid accidental <command>TRUNCATE</command> invocations, you can revoke
346+
the <literal>TRUNCATE</literal> privilege from tables.
347+
</para>
348+
</listitem>
349+
350+
<listitem>
351+
<para>
352+
Large objects (see <xref linkend="largeobjects">) are not replicated.
353+
There is no workaround for that, other than storing data in normal
354+
tables.
355+
</para>
356+
</listitem>
357+
358+
<listitem>
359+
<para>
360+
Replication is only possible from base tables to base tables. That is,
361+
the tables on the publication and on the subscription side must be normal
362+
tables, not views, materialized views, partition root tables, or foreign
363+
tables. In the case of partitions, you can therefore replicate a
364+
partition hierarchy one-to-one, but you cannot currently replicate to a
365+
differently partitioned setup. Attempts to replicate tables other than
366+
base tables will result in an error.
367+
</para>
368+
</listitem>
369+
</itemizedlist>
370+
</sect1>
371+
302372
<sect1 id="logical-replication-architecture">
303373
<title>Architecture</title>
304374

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp