pg_dbms_metadata

pg_dbms_metadata

pg_dbms_metadata : Extension to add Oracle DBMS_METADATA compatibility to PostgreSQL

Overview

IDExtensionPackageVersionCategoryLicenseLanguage
9240
pg_dbms_metadata
pg_dbms_metadata
1.0.0
SIM
PostgreSQL
SQL
AttributeHas BinaryHas LibraryNeed LoadHas DDLRelocatableTrusted
--s-d--
No
Yes
No
Yes
no
no
Relationships
Schemasdbms_metadata
See Also
orafce
pgtt
pg_dbms_lock
pg_dbms_job
oracle_fdw
session_variable
pg_statement_rollback
ddlx

pgdg missing el8.aarch64.pg15

Packages

TypeRepoVersionPG Major CompatibilityPackage PatternDependencies
EXT
PGDG
1.0.0
18
17
16
15
14
pg_dbms_metadata-
RPM
PGDG
1.0.0
18
17
16
15
14
pg_dbms_metadata_$v-
Linux / PGPG18PG17PG16PG15PG14
el8.x86_64
PGDG 1.0.0
PGDG 1.0.0
PGDG 1.0.0
PGDG 1.0.0
PGDG 1.0.0
el8.aarch64
PGDG 1.0.0
PGDG 1.0.0
PGDG 1.0.0
MISS
PGDG 1.0.0
el9.x86_64
PGDG 1.0.0
PGDG 1.0.0
PGDG 1.0.0
PGDG 1.0.0
PGDG 1.0.0
el9.aarch64
PGDG 1.0.0
PGDG 1.0.0
PGDG 1.0.0
PGDG 1.0.0
PGDG 1.0.0
el10.x86_64
PGDG 1.0.0
PGDG 1.0.0
PGDG 1.0.0
PGDG 1.0.0
PGDG 1.0.0
el10.aarch64
PGDG 1.0.0
PGDG 1.0.0
PGDG 1.0.0
PGDG 1.0.0
PGDG 1.0.0
d12.x86_64
MISS
MISS
MISS
MISS
MISS
d12.aarch64
MISS
MISS
MISS
MISS
MISS
d13.x86_64
MISS
MISS
MISS
MISS
MISS
d13.aarch64
MISS
MISS
MISS
MISS
MISS
u22.x86_64
MISS
MISS
MISS
MISS
MISS
u22.aarch64
MISS
MISS
MISS
MISS
MISS
u24.x86_64
MISS
MISS
MISS
MISS
MISS
u24.aarch64
MISS
MISS
MISS
MISS
MISS
PackageVersionOSORGSIZEFile URL
pg_dbms_metadata_181.0.0el8.x86_64pgdg17.8 KiBpg_dbms_metadata_18-1.0.0-2PGDG.rhel8.noarch.rpm
pg_dbms_metadata_181.0.0el8.aarch64pgdg17.7 KiBpg_dbms_metadata_18-1.0.0-2PGDG.rhel8.noarch.rpm
pg_dbms_metadata_181.0.0el9.x86_64pgdg17.4 KiBpg_dbms_metadata_18-1.0.0-2PGDG.rhel9.noarch.rpm
pg_dbms_metadata_181.0.0el9.aarch64pgdg17.3 KiBpg_dbms_metadata_18-1.0.0-2PGDG.rhel9.noarch.rpm
pg_dbms_metadata_181.0.0el10.x86_64pgdg17.9 KiBpg_dbms_metadata_18-1.0.0-2PGDG.rhel10.noarch.rpm
pg_dbms_metadata_181.0.0el10.aarch64pgdg17.8 KiBpg_dbms_metadata_18-1.0.0-2PGDG.rhel10.noarch.rpm
PackageVersionOSORGSIZEFile URL
pg_dbms_metadata_171.0.0el8.x86_64pgdg17.7 KiBpg_dbms_metadata_17-1.0.0-1PGDG.rhel8.noarch.rpm
pg_dbms_metadata_171.0.0el8.aarch64pgdg17.6 KiBpg_dbms_metadata_17-1.0.0-1PGDG.rhel8.noarch.rpm
pg_dbms_metadata_171.0.0el9.x86_64pgdg17.3 KiBpg_dbms_metadata_17-1.0.0-1PGDG.rhel9.noarch.rpm
pg_dbms_metadata_171.0.0el9.aarch64pgdg17.2 KiBpg_dbms_metadata_17-1.0.0-1PGDG.rhel9.noarch.rpm
pg_dbms_metadata_171.0.0el10.x86_64pgdg17.9 KiBpg_dbms_metadata_17-1.0.0-2PGDG.rhel10.noarch.rpm
pg_dbms_metadata_171.0.0el10.aarch64pgdg17.8 KiBpg_dbms_metadata_17-1.0.0-2PGDG.rhel10.noarch.rpm
PackageVersionOSORGSIZEFile URL
pg_dbms_metadata_161.0.0el8.x86_64pgdg17.7 KiBpg_dbms_metadata_16-1.0.0-1PGDG.rhel8.noarch.rpm
pg_dbms_metadata_161.0.0el8.aarch64pgdg17.6 KiBpg_dbms_metadata_16-1.0.0-1PGDG.rhel8.noarch.rpm
pg_dbms_metadata_161.0.0el9.x86_64pgdg17.3 KiBpg_dbms_metadata_16-1.0.0-1PGDG.rhel9.noarch.rpm
pg_dbms_metadata_161.0.0el9.aarch64pgdg17.2 KiBpg_dbms_metadata_16-1.0.0-1PGDG.rhel9.noarch.rpm
pg_dbms_metadata_161.0.0el10.x86_64pgdg17.9 KiBpg_dbms_metadata_16-1.0.0-2PGDG.rhel10.noarch.rpm
pg_dbms_metadata_161.0.0el10.aarch64pgdg17.8 KiBpg_dbms_metadata_16-1.0.0-2PGDG.rhel10.noarch.rpm
PackageVersionOSORGSIZEFile URL
pg_dbms_metadata_151.0.0el8.x86_64pgdg17.7 KiBpg_dbms_metadata_15-1.0.0-1PGDG.rhel8.noarch.rpm
pg_dbms_metadata_151.0.0el9.x86_64pgdg17.3 KiBpg_dbms_metadata_15-1.0.0-1PGDG.rhel9.noarch.rpm
pg_dbms_metadata_151.0.0el9.aarch64pgdg17.2 KiBpg_dbms_metadata_15-1.0.0-1PGDG.rhel9.noarch.rpm
pg_dbms_metadata_151.0.0el10.x86_64pgdg17.9 KiBpg_dbms_metadata_15-1.0.0-2PGDG.rhel10.noarch.rpm
pg_dbms_metadata_151.0.0el10.aarch64pgdg17.8 KiBpg_dbms_metadata_15-1.0.0-2PGDG.rhel10.noarch.rpm
PackageVersionOSORGSIZEFile URL
pg_dbms_metadata_141.0.0el8.x86_64pgdg17.7 KiBpg_dbms_metadata_14-1.0.0-1PGDG.rhel8.noarch.rpm
pg_dbms_metadata_141.0.0el8.aarch64pgdg17.6 KiBpg_dbms_metadata_14-1.0.0-1PGDG.rhel8.noarch.rpm
pg_dbms_metadata_141.0.0el9.x86_64pgdg17.3 KiBpg_dbms_metadata_14-1.0.0-1PGDG.rhel9.noarch.rpm
pg_dbms_metadata_141.0.0el9.aarch64pgdg17.2 KiBpg_dbms_metadata_14-1.0.0-1PGDG.rhel9.noarch.rpm
pg_dbms_metadata_141.0.0el10.x86_64pgdg17.9 KiBpg_dbms_metadata_14-1.0.0-2PGDG.rhel10.noarch.rpm
pg_dbms_metadata_141.0.0el10.aarch64pgdg17.8 KiBpg_dbms_metadata_14-1.0.0-2PGDG.rhel10.noarch.rpm

Source

Install

Make sure PGDG repo available:

pig repo add pgdg -u    # add pgdg repo and update cache

Install this extension with pig:

pig install pg_dbms_metadata;		# install via package name, for the active PG version

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

Create this extension with:

CREATE EXTENSION pg_dbms_metadata;

Usage

pg_dbms_metadata: Extension to add Oracle DBMS_METADATA compatibility to PostgreSQL

Enabling

CREATE EXTENSION pg_dbms_metadata;

GET_DDL

Extract DDL of database objects. Supported types: TABLE, VIEW, SEQUENCE, PROCEDURE, FUNCTION, TRIGGER, INDEX, CONSTRAINT, CHECK_CONSTRAINT, REF_CONSTRAINT, TYPE, ENUM.

SELECT dbms_metadata.get_ddl('TABLE', 'employees', 'public');
SELECT dbms_metadata.get_ddl('VIEW', 'active_users', 'myschema');
SELECT dbms_metadata.get_ddl('FUNCTION', 'calculate_tax', 'public');
SELECT dbms_metadata.get_ddl('INDEX', 'idx_name', 'public');

-- Schema is optional; uses search_path when omitted
SELECT dbms_metadata.get_ddl('SEQUENCE', 'my_seq');

GET_DEPENDENT_DDL

Extract DDL of all dependent objects of a specified type for a base object. Supported: SEQUENCE, TRIGGER, CONSTRAINT, REF_CONSTRAINT, INDEX, ENUM.

SELECT dbms_metadata.get_dependent_ddl('CONSTRAINT', 'employees', 'public');
SELECT dbms_metadata.get_dependent_ddl('INDEX', 'orders', 'sales');
SELECT dbms_metadata.get_dependent_ddl('TRIGGER', 'accounts');

GET_GRANTED_DDL

Extract SQL statements to recreate granted privileges and roles. Supported: ROLE_GRANT.

SELECT dbms_metadata.get_granted_ddl('ROLE_GRANT', 'user_test');

SET_TRANSFORM_PARAM

Customize DDL output with session-level transform parameters:

-- Append SQL terminator (;) to each DDL statement
CALL dbms_metadata.set_transform_param('SQLTERMINATOR', true);

-- Exclude constraints from TABLE DDL
CALL dbms_metadata.set_transform_param('CONSTRAINTS', false);

-- Exclude foreign keys from TABLE DDL
CALL dbms_metadata.set_transform_param('REF_CONSTRAINTS', false);

-- Exclude partitioning clauses
CALL dbms_metadata.set_transform_param('PARTITIONING', false);

-- Exclude storage parameters
CALL dbms_metadata.set_transform_param('STORAGE', false);

-- Reset all params to defaults
CALL dbms_metadata.set_transform_param('DEFAULT', true);
Last updated on