DDL replication
===============

DDL stands for data definition language, the subset of the SQL language
that creates, alters, and drops database objects.

PGD provides Automatic DDL replication which makes certain DDL changes
easier without your having to manually distribute the DDL change to all
nodes and ensure that they’re consistent.

This section looks at how DDL replication is handled in PGD.

-  :ref:`PGD overview <PGD overview>`  provides a general outline of what PGD’s DDL
   replication is capable of.

-  :ref:`DDL replication options <DDL replication options>`  looks at the options for controlling replication.

-  :ref:`bdr.ddl_locking <bdr.ddl_locking>`  examines how DDL replication uses locks to safely
   replicate DDL.

-  :ref:`Managing DDL with PGD replication <Managing DDL with PGD replication>`  give best practice advice on why and how to limit the
   impact of DDL changes so they do not overly affect the smooth running
   of the cluster.

-  :ref:`DDL Command handling matrix <DDL Command handling matrix>`  is a reference to all DDL commands, what locks they
   take and any special handling that may be involved in their use and
   execution.

-  :ref:`DDL role manipulation <DDL and role manipulation statements>`  notes issues around manipulating roles over multiple
   databases in a cluster

-  :ref:`Workarounds for DDL restrictions <Workarounds for DDL restrictions>`  gives a range of options for handling situations where
   DDL replication may present restrictions, such as altering columns,
   constraints and types.

-  :ref:`DDL-like PGD functions <System functions>`  details the PGD functions which behave like DDL and
   therefore behave in a similar way and are subject to similar
   restrictions.

.. toctree::
  :maxdepth: 3

  Using--ddl--ddl-overview
  Using--ddl--ddl-replication-options
  Using--ddl--ddl-locking
  Using--ddl--ddl-managing-with-pgd-replication
  Using--ddl--ddl-command-handling
  Using--ddl--ddl-role-manipulation
  Using--ddl--ddl-workarounds
  Using--ddl--ddl-pgd-functions-like-ddl
