F.38. pgxc_ddl

F.38.1. Overview

Note: The following description applies only to Postgres-XC

pgxc_ddl is a module for Coordinator catalog table synchronization and DDL treatment module. It has the following synopsis.

pgxc_ddl [ option ]

pgxc_ddl is used to synchronize all Coordinator catalog tables from one chosen by a user. It is also possible to launch a DDL on one Coordinator, and then to synchronize all the Coordinator catalog tables from the catalog table of the Coordinator having received the DDL. Copy method is cold. All the Coordinators are stopped, catalog files are copied, then all the Coordinators are restarted.

Since Postgres-XC 0.9.3, DDL are synchronized automatically on all the nodes of the cluster, pgxc_ddl is let on purpose of future feature development.

Since Postgres-XC 0.9.4, pgxc_ddl and pgxc.conf are not anymore installed by default. Scripts are saved in the folder contrib/pgxc_ddl.

F.38.2. Options

Options are specified with preceding '-', each option may be associated with a value.

Options are as follows:

-D

Specify pgxc.conf folder, for characteristics of all the Coordinators.

-l

Specify application folder, in case PATH is not defined.

-f

Specify DDL file location.

-d

Database name.

-n

Coordinator number. Coordinator chosen corresponds to the one defined in pgxc.conf at the nth place.

-t

Specify temporary folder where to copy the configuration files postgresql.conf and pg_hba.conf for each Coordinator.

Because pgxc_ddl requires access to Coordinator configuration file and data folders, the following parameters have to be set in pgxc.conf:

Table F-23. pgxc.conf entries

NameTypeDescription
coordinator_portsstring Specify the port number of all the Coordinators. Maintain the order of the value same as those in coordinator_hosts. It is necessary to specify a number of ports equal to the number of hosts. A comma separator is also necessary.
coordinator_foldersstring Specify the data folders of all the Coordinators. Maintain the order of the value same as those in coordinator_hosts. It is necessary to specify a number of data folders equal to the number of hosts. A comma separator is also necessary.
coordinator_hostsstring Specify the host name or IP address of Coordinator. Separate each value with comma.

Note: About the temporary folder, this one has the name chosen by the user. As an extension name, the PID of the shell script is added. This folder is by default in /tmp. The user can choose the name freely.

Note: Configuration files of Coordinators that have their catalog files changed are defined with an extension name postgresql.conf.number, "number" being the number of t Coordinator in the order defined in pgxc.conf.