1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-01 14:21:49 +03:00
postgres/doc/src/sgml/reference.sgml
Peter Eisentraut d44032d014 pg_createsubscriber: creates a new logical replica from a standby server
It must be run on the target server and should be able to connect to
the source server (publisher) and the target server (subscriber).  All
tables in the specified database(s) are included in the logical
replication setup.  A pair of publication and subscription objects are
created for each database.

The main advantage of pg_createsubscriber over the common logical
replication setup is the initial data copy.  It also reduces the
catchup phase.

Some prerequisites must be met to successfully run it.  It is
basically the logical replication requirements.  It starts creating a
publication using FOR ALL TABLES and a replication slot for each
specified database.  Write recovery parameters into the target data
directory and start the target server.  It specifies the LSN of the
last replication slot (replication start point) up to which the
recovery will proceed.  Wait until the target server is promoted.
Create one subscription per specified database (using publication and
replication slot created in a previous step) on the target server.
Set the replication progress to the replication start point for each
subscription.  Enable the subscription for each specified database on
the target server.  And finally, change the system identifier on the
target server.

Author: Euler Taveira <euler.taveira@enterprisedb.com>
Reviewed-by: Hayato Kuroda <kuroda.hayato@fujitsu.com>
Reviewed-by: Amit Kapila <amit.kapila16@gmail.com>
Reviewed-by: Shlok Kyal <shlok.kyal.oss@gmail.com>
Reviewed-by: Vignesh C <vignesh21@gmail.com>
Reviewed-by: Shubham Khanna <khannashubham1197@gmail.com>
Reviewed-by: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Reviewed-by: Peter Eisentraut <peter@eisentraut.org>
Discussion: https://www.postgresql.org/message-id/flat/5ac50071-f2ed-4ace-a8fd-b892cffd33eb@www.fastmail.com
2024-03-25 12:42:47 +01:00

299 lines
6.1 KiB
Plaintext

<!-- doc/src/sgml/reference.sgml -->
<part id="reference">
<title>Reference</title>
<partintro>
<para>
The entries in this Reference are meant to provide in reasonable
length an authoritative, complete, and formal summary about their
respective subjects. More information about the use of
<productname>PostgreSQL</productname>, in narrative, tutorial, or
example form, can be found in other parts of this book. See the
cross-references listed on each reference page.
</para>
<para>
The reference entries are also available as traditional
<quote>man</quote> pages.
</para>
</partintro>
<reference id="sql-commands">
<title>SQL Commands</title>
<partintro>
<para>
This part contains reference information for the
<acronym>SQL</acronym> commands supported by
<productname>PostgreSQL</productname>. By <quote>SQL</quote> the
language in general is meant; information about the standards
conformance and compatibility of each command can be found on the
respective reference page.
</para>
</partintro>
&abort;
&alterAggregate;
&alterCollation;
&alterConversion;
&alterDatabase;
&alterDefaultPrivileges;
&alterDomain;
&alterEventTrigger;
&alterExtension;
&alterForeignDataWrapper;
&alterForeignTable;
&alterFunction;
&alterGroup;
&alterIndex;
&alterLanguage;
&alterLargeObject;
&alterMaterializedView;
&alterOperator;
&alterOperatorClass;
&alterOperatorFamily;
&alterPolicy;
&alterProcedure;
&alterPublication;
&alterRole;
&alterRoutine;
&alterRule;
&alterSchema;
&alterSequence;
&alterServer;
&alterStatistics;
&alterSubscription;
&alterSystem;
&alterTable;
&alterTableSpace;
&alterTSConfig;
&alterTSDictionary;
&alterTSParser;
&alterTSTemplate;
&alterTrigger;
&alterType;
&alterUser;
&alterUserMapping;
&alterView;
&analyze;
&begin;
&call;
&checkpoint;
&close;
&cluster;
&commentOn;
&commit;
&commitPrepared;
&copyTable;
&createAccessMethod;
&createAggregate;
&createCast;
&createCollation;
&createConversion;
&createDatabase;
&createDomain;
&createEventTrigger;
&createExtension;
&createForeignDataWrapper;
&createForeignTable;
&createFunction;
&createGroup;
&createIndex;
&createLanguage;
&createMaterializedView;
&createOperator;
&createOperatorClass;
&createOperatorFamily;
&createPolicy;
&createProcedure;
&createPublication;
&createRole;
&createRule;
&createSchema;
&createSequence;
&createServer;
&createStatistics;
&createSubscription;
&createTable;
&createTableAs;
&createTableSpace;
&createTSConfig;
&createTSDictionary;
&createTSParser;
&createTSTemplate;
&createTransform;
&createTrigger;
&createType;
&createUser;
&createUserMapping;
&createView;
&deallocate;
&declare;
&delete;
&discard;
&do;
&dropAccessMethod;
&dropAggregate;
&dropCast;
&dropCollation;
&dropConversion;
&dropDatabase;
&dropDomain;
&dropEventTrigger;
&dropExtension;
&dropForeignDataWrapper;
&dropForeignTable;
&dropFunction;
&dropGroup;
&dropIndex;
&dropLanguage;
&dropMaterializedView;
&dropOperator;
&dropOperatorClass;
&dropOperatorFamily;
&dropOwned;
&dropPolicy;
&dropProcedure;
&dropPublication;
&dropRole;
&dropRoutine;
&dropRule;
&dropSchema;
&dropSequence;
&dropServer;
&dropStatistics;
&dropSubscription;
&dropTable;
&dropTableSpace;
&dropTSConfig;
&dropTSDictionary;
&dropTSParser;
&dropTSTemplate;
&dropTransform;
&dropTrigger;
&dropType;
&dropUser;
&dropUserMapping;
&dropView;
&end;
&execute;
&explain;
&fetch;
&grant;
&importForeignSchema;
&insert;
&listen;
&load;
&lock;
&merge;
&move;
&notify;
&prepare;
&prepareTransaction;
&reassignOwned;
&refreshMaterializedView;
&reindex;
&releaseSavepoint;
&reset;
&revoke;
&rollback;
&rollbackPrepared;
&rollbackTo;
&savepoint;
&securityLabel;
&select;
&selectInto;
&set;
&setConstraints;
&setRole;
&setSessionAuth;
&setTransaction;
&show;
&startTransaction;
&truncate;
&unlisten;
&update;
&vacuum;
&values;
</reference>
<reference id="reference-client">
<title>PostgreSQL Client Applications</title>
<partintro>
<para>
This part contains reference information for
<productname>PostgreSQL</productname> client applications and
utilities. Not all of these commands are of general utility; some
might require special privileges. The common feature of these
applications is that they can be run on any host, independent of
where the database server resides.
</para>
<para>
When specified on the command line, user and database names have
their case preserved &mdash; the presence of spaces or special
characters might require quoting. Table names and other identifiers
do not have their case preserved, except where documented, and
might require quoting.
</para>
</partintro>
&clusterdb;
&createdb;
&createuser;
&dropdb;
&dropuser;
&ecpgRef;
&pgamcheck;
&pgBasebackup;
&pgbench;
&pgCombinebackup;
&pgConfig;
&pgDump;
&pgDumpall;
&pgIsready;
&pgReceivewal;
&pgRecvlogical;
&pgRestore;
&pgVerifyBackup;
&psqlRef;
&reindexdb;
&vacuumdb;
</reference>
<reference id="reference-server">
<title>PostgreSQL Server Applications</title>
<partintro>
<para>
This part contains reference information for
<productname>PostgreSQL</productname> server applications and
support utilities. These commands can only be run usefully on the
host where the database server resides. Other utility programs
are listed in <xref linkend="reference-client"/>.
</para>
</partintro>
&initdb;
&pgarchivecleanup;
&pgChecksums;
&pgControldata;
&pgCreateSubscriber;
&pgCtl;
&pgResetwal;
&pgRewind;
&pgtestfsync;
&pgtesttiming;
&pgupgrade;
&pgwaldump;
&pgwalsummary;
&postgres;
</reference>
</part>