ddlx

pg_ddlx : DDL eXtractor functions

Overview

IDExtensionPackageVersionCategoryLicenseLanguage
5080
ddlx
pg_ddlx
0.30
ADMIN
PostgreSQL
SQL
AttributeHas BinaryHas LibraryNeed LoadHas DDLRelocatableTrusted
--s-d--
No
Yes
No
Yes
no
no
Relationships
See Also
pgdd
pg_checksums
pg_permissions
pgextwlist
pg_catcheck
adminpack
pg_repack
pg_rewrite

Packages

TypeRepoVersionPG Major CompatibilityPackage PatternDependencies
EXT
MIXED
0.30
18
17
16
15
14
pg_ddlx-
RPM
PIGSTY
0.30
18
17
16
15
14
ddlx_$v-
DEB
PIGSTY
0.30
18
17
16
15
14
postgresql-$v-ddlx-
Linux / PGPG18PG17PG16PG15PG14
el8.x86_64
PGDG 0.30
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
el8.aarch64
PGDG 0.30
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
el9.x86_64
PGDG 0.30
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
el9.aarch64
PGDG 0.30
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
el10.x86_64
PGDG 0.30
PGDG 0.30
PGDG 0.30
PGDG 0.30
PGDG 0.30
el10.aarch64
PGDG 0.30
PGDG 0.30
PGDG 0.30
PGDG 0.30
PGDG 0.30
d12.x86_64
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
d12.aarch64
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
d13.x86_64
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
d13.aarch64
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
u22.x86_64
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
u22.aarch64
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
u24.x86_64
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
u24.aarch64
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
PIGSTY 0.30
PackageVersionOSORGSIZEFile URL
ddlx_170.30el8.x86_64pigsty32.4 KiBddlx_17-0.30-1PIGSTY.el8.x86_64.rpm
ddlx_170.30el8.x86_64pgdg33.9 KiBddlx_17-0.30-1PGDG.rhel8.noarch.rpm
ddlx_170.29el8.x86_64pgdg32.8 KiBddlx_17-0.29-1PGDG.rhel8.noarch.rpm
ddlx_170.30el8.aarch64pigsty32.3 KiBddlx_17-0.30-1PIGSTY.el8.aarch64.rpm
ddlx_170.30el8.aarch64pgdg33.8 KiBddlx_17-0.30-1PGDG.rhel8.noarch.rpm
ddlx_170.29el8.aarch64pgdg32.8 KiBddlx_17-0.29-1PGDG.rhel8.noarch.rpm
ddlx_170.30el9.x86_64pigsty31.2 KiBddlx_17-0.30-1PIGSTY.el9.x86_64.rpm
ddlx_170.30el9.x86_64pgdg31.7 KiBddlx_17-0.30-1PGDG.rhel9.noarch.rpm
ddlx_170.29el9.x86_64pgdg30.9 KiBddlx_17-0.29-1PGDG.rhel9.noarch.rpm
ddlx_170.30el9.aarch64pigsty31.1 KiBddlx_17-0.30-1PIGSTY.el9.aarch64.rpm
ddlx_170.30el9.aarch64pgdg31.7 KiBddlx_17-0.30-1PGDG.rhel9.noarch.rpm
ddlx_170.29el9.aarch64pgdg30.8 KiBddlx_17-0.29-1PGDG.rhel9.noarch.rpm
ddlx_170.30el10.x86_64pgdg32.2 KiBddlx_17-0.30-1PGDG.rhel10.noarch.rpm
ddlx_170.29el10.x86_64pgdg31.4 KiBddlx_17-0.29-1PGDG.rhel10.noarch.rpm
ddlx_170.30el10.aarch64pgdg32.2 KiBddlx_17-0.30-1PGDG.rhel10.noarch.rpm
ddlx_170.29el10.aarch64pgdg31.3 KiBddlx_17-0.29-1PGDG.rhel10.noarch.rpm
postgresql-17-ddlx0.30d12.x86_64pigsty28.7 KiBpostgresql-17-ddlx_0.30-1PIGSTY~bookworm_amd64.deb
postgresql-17-ddlx0.30d12.aarch64pigsty28.7 KiBpostgresql-17-ddlx_0.30-1PIGSTY~bookworm_arm64.deb
postgresql-17-ddlx0.30d13.x86_64pigsty28.7 KiBpostgresql-17-ddlx_0.30-1PIGSTY~trixie_amd64.deb
postgresql-17-ddlx0.30d13.aarch64pigsty28.7 KiBpostgresql-17-ddlx_0.30-1PIGSTY~trixie_arm64.deb
postgresql-17-ddlx0.30u22.x86_64pigsty26.0 KiBpostgresql-17-ddlx_0.30-1PIGSTY~jammy_amd64.deb
postgresql-17-ddlx0.30u22.aarch64pigsty26.0 KiBpostgresql-17-ddlx_0.30-1PIGSTY~jammy_arm64.deb
postgresql-17-ddlx0.30u24.x86_64pigsty25.9 KiBpostgresql-17-ddlx_0.30-1PIGSTY~noble_amd64.deb
postgresql-17-ddlx0.30u24.aarch64pigsty25.9 KiBpostgresql-17-ddlx_0.30-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
ddlx_160.30el8.x86_64pigsty32.3 KiBddlx_16-0.30-1PIGSTY.el8.x86_64.rpm
ddlx_160.30el8.x86_64pgdg33.9 KiBddlx_16-0.30-1PGDG.rhel8.noarch.rpm
ddlx_160.29el8.x86_64pgdg32.8 KiBddlx_16-0.29-1PGDG.rhel8.noarch.rpm
ddlx_160.27el8.x86_64pgdg32.0 KiBddlx_16-0.27-1PGDG.rhel8.noarch.rpm
ddlx_160.26el8.x86_64pgdg30.9 KiBddlx_16-0.26-1PGDG.rhel8.noarch.rpm
ddlx_160.24el8.x86_64pgdg30.4 KiBddlx_16-0.24-1PGDG.rhel8.noarch.rpm
ddlx_160.30el8.aarch64pigsty32.3 KiBddlx_16-0.30-1PIGSTY.el8.aarch64.rpm
ddlx_160.30el8.aarch64pgdg33.8 KiBddlx_16-0.30-1PGDG.rhel8.noarch.rpm
ddlx_160.29el8.aarch64pgdg32.8 KiBddlx_16-0.29-1PGDG.rhel8.noarch.rpm
ddlx_160.27el8.aarch64pgdg31.9 KiBddlx_16-0.27-1PGDG.rhel8.noarch.rpm
ddlx_160.26el8.aarch64pgdg30.9 KiBddlx_16-0.26-1PGDG.rhel8.noarch.rpm
ddlx_160.24el8.aarch64pgdg30.4 KiBddlx_16-0.24-1PGDG.rhel8.noarch.rpm
ddlx_160.30el9.x86_64pigsty31.2 KiBddlx_16-0.30-1PIGSTY.el9.x86_64.rpm
ddlx_160.30el9.x86_64pgdg31.7 KiBddlx_16-0.30-1PGDG.rhel9.noarch.rpm
ddlx_160.29el9.x86_64pgdg30.9 KiBddlx_16-0.29-1PGDG.rhel9.noarch.rpm
ddlx_160.27el9.x86_64pgdg30.2 KiBddlx_16-0.27-1PGDG.rhel9.noarch.rpm
ddlx_160.26el9.x86_64pgdg29.2 KiBddlx_16-0.26-1PGDG.rhel9.noarch.rpm
ddlx_160.24el9.x86_64pgdg28.8 KiBddlx_16-0.24-1PGDG.rhel9.noarch.rpm
ddlx_160.30el9.aarch64pigsty31.2 KiBddlx_16-0.30-1PIGSTY.el9.aarch64.rpm
ddlx_160.30el9.aarch64pgdg31.6 KiBddlx_16-0.30-1PGDG.rhel9.noarch.rpm
ddlx_160.29el9.aarch64pgdg30.8 KiBddlx_16-0.29-1PGDG.rhel9.noarch.rpm
ddlx_160.27el9.aarch64pgdg30.0 KiBddlx_16-0.27-1PGDG.rhel9.noarch.rpm
ddlx_160.26el9.aarch64pgdg29.0 KiBddlx_16-0.26-1PGDG.rhel9.noarch.rpm
ddlx_160.24el9.aarch64pgdg28.6 KiBddlx_16-0.24-1PGDG.rhel9.noarch.rpm
ddlx_160.30el10.x86_64pgdg32.2 KiBddlx_16-0.30-1PGDG.rhel10.noarch.rpm
ddlx_160.29el10.x86_64pgdg31.4 KiBddlx_16-0.29-1PGDG.rhel10.noarch.rpm
ddlx_160.30el10.aarch64pgdg32.1 KiBddlx_16-0.30-1PGDG.rhel10.noarch.rpm
ddlx_160.29el10.aarch64pgdg31.3 KiBddlx_16-0.29-1PGDG.rhel10.noarch.rpm
postgresql-16-ddlx0.30d12.x86_64pigsty28.7 KiBpostgresql-16-ddlx_0.30-1PIGSTY~bookworm_amd64.deb
postgresql-16-ddlx0.30d12.aarch64pigsty28.7 KiBpostgresql-16-ddlx_0.30-1PIGSTY~bookworm_arm64.deb
postgresql-16-ddlx0.30d13.x86_64pigsty28.7 KiBpostgresql-16-ddlx_0.30-1PIGSTY~trixie_amd64.deb
postgresql-16-ddlx0.30d13.aarch64pigsty28.7 KiBpostgresql-16-ddlx_0.30-1PIGSTY~trixie_arm64.deb
postgresql-16-ddlx0.30u22.x86_64pigsty26.0 KiBpostgresql-16-ddlx_0.30-1PIGSTY~jammy_amd64.deb
postgresql-16-ddlx0.30u22.aarch64pigsty26.0 KiBpostgresql-16-ddlx_0.30-1PIGSTY~jammy_arm64.deb
postgresql-16-ddlx0.30u24.x86_64pigsty25.8 KiBpostgresql-16-ddlx_0.30-1PIGSTY~noble_amd64.deb
postgresql-16-ddlx0.30u24.aarch64pigsty25.8 KiBpostgresql-16-ddlx_0.30-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
ddlx_150.30el8.x86_64pigsty32.3 KiBddlx_15-0.30-1PIGSTY.el8.x86_64.rpm
ddlx_150.30el8.x86_64pgdg33.8 KiBddlx_15-0.30-1PGDG.rhel8.noarch.rpm
ddlx_150.29el8.x86_64pgdg32.8 KiBddlx_15-0.29-1PGDG.rhel8.noarch.rpm
ddlx_150.27el8.x86_64pgdg32.0 KiBddlx_15-0.27-1PGDG.rhel8.noarch.rpm
ddlx_150.26el8.x86_64pgdg30.9 KiBddlx_15-0.26-1PGDG.rhel8.noarch.rpm
ddlx_150.24el8.x86_64pgdg30.4 KiBddlx_15-0.24-1PGDG.rhel8.noarch.rpm
ddlx_150.23el8.x86_64pgdg30.2 KiBddlx_15-0.23-1.rhel8.noarch.rpm
ddlx_150.22el8.x86_64pgdg29.8 KiBddlx_15-0.22-1.rhel8.noarch.rpm
ddlx_150.30el8.aarch64pigsty32.2 KiBddlx_15-0.30-1PIGSTY.el8.aarch64.rpm
ddlx_150.30el8.aarch64pgdg33.8 KiBddlx_15-0.30-1PGDG.rhel8.noarch.rpm
ddlx_150.29el8.aarch64pgdg32.7 KiBddlx_15-0.29-1PGDG.rhel8.noarch.rpm
ddlx_150.27el8.aarch64pgdg31.9 KiBddlx_15-0.27-1PGDG.rhel8.noarch.rpm
ddlx_150.26el8.aarch64pgdg30.9 KiBddlx_15-0.26-1PGDG.rhel8.noarch.rpm
ddlx_150.24el8.aarch64pgdg30.4 KiBddlx_15-0.24-1PGDG.rhel8.noarch.rpm
ddlx_150.23el8.aarch64pgdg30.2 KiBddlx_15-0.23-1.rhel8.noarch.rpm
ddlx_150.22el8.aarch64pgdg29.8 KiBddlx_15-0.22-1.rhel8.noarch.rpm
ddlx_150.30el9.x86_64pigsty31.1 KiBddlx_15-0.30-1PIGSTY.el9.x86_64.rpm
ddlx_150.30el9.x86_64pgdg31.6 KiBddlx_15-0.30-1PGDG.rhel9.noarch.rpm
ddlx_150.29el9.x86_64pgdg30.8 KiBddlx_15-0.29-1PGDG.rhel9.noarch.rpm
ddlx_150.27el9.x86_64pgdg30.2 KiBddlx_15-0.27-1PGDG.rhel9.noarch.rpm
ddlx_150.26el9.x86_64pgdg29.2 KiBddlx_15-0.26-1PGDG.rhel9.noarch.rpm
ddlx_150.24el9.x86_64pgdg28.8 KiBddlx_15-0.24-1PGDG.rhel9.noarch.rpm
ddlx_150.23el9.x86_64pgdg28.8 KiBddlx_15-0.23-1.rhel9.noarch.rpm
ddlx_150.22el9.x86_64pgdg29.0 KiBddlx_15-0.22-1.rhel9.noarch.rpm
ddlx_150.30el9.aarch64pigsty31.1 KiBddlx_15-0.30-1PIGSTY.el9.aarch64.rpm
ddlx_150.30el9.aarch64pgdg31.6 KiBddlx_15-0.30-1PGDG.rhel9.noarch.rpm
ddlx_150.29el9.aarch64pgdg30.8 KiBddlx_15-0.29-1PGDG.rhel9.noarch.rpm
ddlx_150.27el9.aarch64pgdg30.0 KiBddlx_15-0.27-1PGDG.rhel9.noarch.rpm
ddlx_150.26el9.aarch64pgdg29.0 KiBddlx_15-0.26-1PGDG.rhel9.noarch.rpm
ddlx_150.24el9.aarch64pgdg28.6 KiBddlx_15-0.24-1PGDG.rhel9.noarch.rpm
ddlx_150.23el9.aarch64pgdg28.6 KiBddlx_15-0.23-1.rhel9.noarch.rpm
ddlx_150.22el9.aarch64pgdg28.8 KiBddlx_15-0.22-1.rhel9.noarch.rpm
ddlx_150.30el10.x86_64pgdg32.1 KiBddlx_15-0.30-1PGDG.rhel10.noarch.rpm
ddlx_150.29el10.x86_64pgdg31.3 KiBddlx_15-0.29-1PGDG.rhel10.noarch.rpm
ddlx_150.30el10.aarch64pgdg32.1 KiBddlx_15-0.30-1PGDG.rhel10.noarch.rpm
ddlx_150.29el10.aarch64pgdg31.3 KiBddlx_15-0.29-1PGDG.rhel10.noarch.rpm
postgresql-15-ddlx0.30d12.x86_64pigsty28.7 KiBpostgresql-15-ddlx_0.30-1PIGSTY~bookworm_amd64.deb
postgresql-15-ddlx0.30d12.aarch64pigsty28.7 KiBpostgresql-15-ddlx_0.30-1PIGSTY~bookworm_arm64.deb
postgresql-15-ddlx0.30d13.x86_64pigsty28.7 KiBpostgresql-15-ddlx_0.30-1PIGSTY~trixie_amd64.deb
postgresql-15-ddlx0.30d13.aarch64pigsty28.7 KiBpostgresql-15-ddlx_0.30-1PIGSTY~trixie_arm64.deb
postgresql-15-ddlx0.30u22.x86_64pigsty25.9 KiBpostgresql-15-ddlx_0.30-1PIGSTY~jammy_amd64.deb
postgresql-15-ddlx0.30u22.aarch64pigsty25.9 KiBpostgresql-15-ddlx_0.30-1PIGSTY~jammy_arm64.deb
postgresql-15-ddlx0.30u24.x86_64pigsty25.8 KiBpostgresql-15-ddlx_0.30-1PIGSTY~noble_amd64.deb
postgresql-15-ddlx0.30u24.aarch64pigsty25.8 KiBpostgresql-15-ddlx_0.30-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
ddlx_140.30el8.x86_64pigsty32.1 KiBddlx_14-0.30-1PIGSTY.el8.x86_64.rpm
ddlx_140.30el8.x86_64pgdg33.7 KiBddlx_14-0.30-1PGDG.rhel8.noarch.rpm
ddlx_140.29el8.x86_64pgdg32.6 KiBddlx_14-0.29-1PGDG.rhel8.noarch.rpm
ddlx_140.27el8.x86_64pgdg31.9 KiBddlx_14-0.27-1PGDG.rhel8.noarch.rpm
ddlx_140.26el8.x86_64pgdg30.9 KiBddlx_14-0.26-1PGDG.rhel8.noarch.rpm
ddlx_140.24el8.x86_64pgdg30.4 KiBddlx_14-0.24-1PGDG.rhel8.noarch.rpm
ddlx_140.23el8.x86_64pgdg30.2 KiBddlx_14-0.23-1.rhel8.noarch.rpm
ddlx_140.22el8.x86_64pgdg29.9 KiBddlx_14-0.22-1.rhel8.noarch.rpm
ddlx_140.30el8.aarch64pigsty32.1 KiBddlx_14-0.30-1PIGSTY.el8.aarch64.rpm
ddlx_140.30el8.aarch64pgdg33.6 KiBddlx_14-0.30-1PGDG.rhel8.noarch.rpm
ddlx_140.29el8.aarch64pgdg32.6 KiBddlx_14-0.29-1PGDG.rhel8.noarch.rpm
ddlx_140.27el8.aarch64pgdg31.8 KiBddlx_14-0.27-1PGDG.rhel8.noarch.rpm
ddlx_140.26el8.aarch64pgdg30.9 KiBddlx_14-0.26-1PGDG.rhel8.noarch.rpm
ddlx_140.24el8.aarch64pgdg30.4 KiBddlx_14-0.24-1PGDG.rhel8.noarch.rpm
ddlx_140.23el8.aarch64pgdg30.2 KiBddlx_14-0.23-1.rhel8.noarch.rpm
ddlx_140.22el8.aarch64pgdg29.8 KiBddlx_14-0.22-1.rhel8.noarch.rpm
ddlx_140.30el9.x86_64pigsty31.0 KiBddlx_14-0.30-1PIGSTY.el9.x86_64.rpm
ddlx_140.30el9.x86_64pgdg31.5 KiBddlx_14-0.30-1PGDG.rhel9.noarch.rpm
ddlx_140.29el9.x86_64pgdg30.7 KiBddlx_14-0.29-1PGDG.rhel9.noarch.rpm
ddlx_140.27el9.x86_64pgdg30.1 KiBddlx_14-0.27-1PGDG.rhel9.noarch.rpm
ddlx_140.26el9.x86_64pgdg29.2 KiBddlx_14-0.26-1PGDG.rhel9.noarch.rpm
ddlx_140.24el9.x86_64pgdg28.8 KiBddlx_14-0.24-1PGDG.rhel9.noarch.rpm
ddlx_140.23el9.x86_64pgdg28.8 KiBddlx_14-0.23-1.rhel9.noarch.rpm
ddlx_140.22el9.x86_64pgdg29.0 KiBddlx_14-0.22-1.rhel9.noarch.rpm
ddlx_140.30el9.aarch64pigsty30.9 KiBddlx_14-0.30-1PIGSTY.el9.aarch64.rpm
ddlx_140.30el9.aarch64pgdg31.4 KiBddlx_14-0.30-1PGDG.rhel9.noarch.rpm
ddlx_140.29el9.aarch64pgdg30.6 KiBddlx_14-0.29-1PGDG.rhel9.noarch.rpm
ddlx_140.27el9.aarch64pgdg29.9 KiBddlx_14-0.27-1PGDG.rhel9.noarch.rpm
ddlx_140.26el9.aarch64pgdg29.0 KiBddlx_14-0.26-1PGDG.rhel9.noarch.rpm
ddlx_140.24el9.aarch64pgdg28.6 KiBddlx_14-0.24-1PGDG.rhel9.noarch.rpm
ddlx_140.23el9.aarch64pgdg28.6 KiBddlx_14-0.23-1.rhel9.noarch.rpm
ddlx_140.22el9.aarch64pgdg28.8 KiBddlx_14-0.22-1.rhel9.noarch.rpm
ddlx_140.30el10.x86_64pgdg32.0 KiBddlx_14-0.30-1PGDG.rhel10.noarch.rpm
ddlx_140.29el10.x86_64pgdg31.2 KiBddlx_14-0.29-1PGDG.rhel10.noarch.rpm
ddlx_140.30el10.aarch64pgdg31.9 KiBddlx_14-0.30-1PGDG.rhel10.noarch.rpm
ddlx_140.29el10.aarch64pgdg31.1 KiBddlx_14-0.29-1PGDG.rhel10.noarch.rpm
postgresql-14-ddlx0.30d12.x86_64pigsty28.6 KiBpostgresql-14-ddlx_0.30-1PIGSTY~bookworm_amd64.deb
postgresql-14-ddlx0.30d12.aarch64pigsty28.6 KiBpostgresql-14-ddlx_0.30-1PIGSTY~bookworm_arm64.deb
postgresql-14-ddlx0.30d13.x86_64pigsty28.5 KiBpostgresql-14-ddlx_0.30-1PIGSTY~trixie_amd64.deb
postgresql-14-ddlx0.30d13.aarch64pigsty28.5 KiBpostgresql-14-ddlx_0.30-1PIGSTY~trixie_arm64.deb
postgresql-14-ddlx0.30u22.x86_64pigsty25.8 KiBpostgresql-14-ddlx_0.30-1PIGSTY~jammy_amd64.deb
postgresql-14-ddlx0.30u22.aarch64pigsty25.8 KiBpostgresql-14-ddlx_0.30-1PIGSTY~jammy_arm64.deb
postgresql-14-ddlx0.30u24.x86_64pigsty25.6 KiBpostgresql-14-ddlx_0.30-1PIGSTY~noble_amd64.deb
postgresql-14-ddlx0.30u24.aarch64pigsty25.6 KiBpostgresql-14-ddlx_0.30-1PIGSTY~noble_arm64.deb

Source

pig build pkg pg_ddlx;		# build deb

Install

Make sure PGDG and PIGSTY repo available:

pig repo add pgsql -u   # add both repo and update cache

Install this extension with pig:

pig install pg_ddlx;		# install via package name, for the active PG version
pig install ddlx;		# install by extension name, for the current active PG version

pig install ddlx -v 18;   # install for PG 18
pig install ddlx -v 17;   # install for PG 17
pig install ddlx -v 16;   # install for PG 16
pig install ddlx -v 15;   # install for PG 15
pig install ddlx -v 14;   # install for PG 14

Create this extension with:

CREATE EXTENSION ddlx;

Usage

ddlx: DDL eXtractor functions

ddlx is a SQL-only extension that generates DDL scripts from PostgreSQL system catalogs. It provides three main functions that accept an OID and work with all reg* object identifier types.

Core Functions

-- Generate CREATE statement for an object
SELECT ddlx_create('my_table'::regclass);
SELECT ddlx_create('my_type'::regtype);
SELECT ddlx_create('my_function'::regproc);
SELECT ddlx_create(current_role::regrole);

-- Generate DROP statement
SELECT ddlx_drop('my_table'::regclass);

-- Generate full DDL script with dependency tree
SELECT ddlx_script('my_table'::regclass);
SELECT ddlx_script('my_enum');
SELECT ddlx_script(current_role::regrole);

Options

Options are passed as a text array (e.g., '{ine,nodcl}'):

SELECT ddlx_create('my_table'::regclass, '{ine}');        -- add IF NOT EXISTS
SELECT ddlx_create('my_type'::regtype, '{noowner}');       -- omit ALTER SET OWNER
SELECT ddlx_script('my_table'::regclass, '{drop}');        -- include DROP statements

Available options: drop, nodrop, owner, noowner, nogrants, nodcl, noalter, ine (IF NOT EXISTS), ie (IF EXISTS), ext, lite, nowrap, nopartitions, comments, nocomments, nostorage, noconstraints, noindexes, nosettings, notriggers, grantor, data.

For Objects Without reg* Types

SELECT ddlx_create(oid) FROM pg_foreign_data_wrapper WHERE fdwname = 'postgres_fdw';
SELECT ddlx_create(oid) FROM pg_database WHERE datname = current_database();

Additional Functions

-- Identify any object by OID
SELECT * FROM ddlx_identify(oid);

-- Describe columns of a class
SELECT * FROM ddlx_describe('my_table'::regclass);

-- Get individual definition parts
SELECT * FROM ddlx_definitions(oid);

-- Generate pre-data creation statements only
SELECT ddlx_createonly('my_table'::regclass);

-- Generate post-data alteration statements
SELECT ddlx_alter('my_table'::regclass);

-- Search function/view bodies by regex
SELECT ddlx_create(objid) FROM ddlx_apropos('users');

-- Get GRANT statements
SELECT ddlx_grants('my_table'::regclass);
Last updated on