Using# Application use Application behavior Replication behavior Truncate Row-level locks Sequences Binary objects Rules Base tables only Partitioned tables Triggers Toast Other restrictions DML and DDL replication and nonreplication DML replication DDL replication Nonreplicated statements Nodes with differences Replicating between nodes with differences Comparison between nodes with differences Replicating between different release levels General rules for applications Background Rules for applications Timing considerations and synchronous replication Use of table access methods (TAMs) in PGD Feature compatibility Server feature/commit scope interoperability Commit scope/commit scope interoperability Using extensions with PGD PGD and other PostgreSQL extensions Supported extensions Installing extensions DDL replication DDL overview Replicated DDL Differences from PostgreSQL Executing DDL on PGD systems DDL replication options DDL locking details The global DDL lock The global DML lock Managing DDL with PGD replication Minimizing the impact of DDL Handling DDL with down nodes Statement-specific DDL replication concerns DDL command handling matrix Command matrix Command notes DDL and role manipulation statements Workarounds for DDL restrictions Adding a CONSTRAINT Adding a column Changing a column’s type PGD functions that behave like DDL Sequences PGD global sequences SnowflakeId sequences Timeshard sequences Globally allocated range sequences Converting a local sequence to a galloc sequence UUIDs, KSUUIDs, and other approaches UUIDs KSUUIDs Step and offset sequences Composite keys See also