pg_dbms_metadata

pg_dbms_metadata

pg_dbms_metadata : Extension to add Oracle DBMS_METADATA compatibility to PostgreSQL

Overview

ID Extension Package Version Category License Language
9240
pg_dbms_metadata
pg_dbms_metadata
1.0.0
SIM
PostgreSQL
SQL
Attribute Has Binary Has Library Need Load Has DDL Relocatable Trusted
--s-d--
No
Yes
No
Yes
no
no
Relationships
Schemas dbms_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

Type Repo Version PG Major Compatibility Package Pattern Dependencies
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 / PG PG18 PG17 PG16 PG15 PG14
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
Package Version OS ORG SIZE File URL
pg_dbms_metadata_18 1.0.0 el8.x86_64 pgdg 17.8 KiB pg_dbms_metadata_18-1.0.0-2PGDG.rhel8.noarch.rpm
pg_dbms_metadata_18 1.0.0 el8.aarch64 pgdg 17.7 KiB pg_dbms_metadata_18-1.0.0-2PGDG.rhel8.noarch.rpm
pg_dbms_metadata_18 1.0.0 el9.x86_64 pgdg 17.4 KiB pg_dbms_metadata_18-1.0.0-2PGDG.rhel9.noarch.rpm
pg_dbms_metadata_18 1.0.0 el9.aarch64 pgdg 17.3 KiB pg_dbms_metadata_18-1.0.0-2PGDG.rhel9.noarch.rpm
pg_dbms_metadata_18 1.0.0 el10.x86_64 pgdg 17.9 KiB pg_dbms_metadata_18-1.0.0-2PGDG.rhel10.noarch.rpm
pg_dbms_metadata_18 1.0.0 el10.aarch64 pgdg 17.8 KiB pg_dbms_metadata_18-1.0.0-2PGDG.rhel10.noarch.rpm
Package Version OS ORG SIZE File URL
pg_dbms_metadata_17 1.0.0 el8.x86_64 pgdg 17.7 KiB pg_dbms_metadata_17-1.0.0-1PGDG.rhel8.noarch.rpm
pg_dbms_metadata_17 1.0.0 el8.aarch64 pgdg 17.6 KiB pg_dbms_metadata_17-1.0.0-1PGDG.rhel8.noarch.rpm
pg_dbms_metadata_17 1.0.0 el9.x86_64 pgdg 17.3 KiB pg_dbms_metadata_17-1.0.0-1PGDG.rhel9.noarch.rpm
pg_dbms_metadata_17 1.0.0 el9.aarch64 pgdg 17.2 KiB pg_dbms_metadata_17-1.0.0-1PGDG.rhel9.noarch.rpm
pg_dbms_metadata_17 1.0.0 el10.x86_64 pgdg 17.9 KiB pg_dbms_metadata_17-1.0.0-2PGDG.rhel10.noarch.rpm
pg_dbms_metadata_17 1.0.0 el10.aarch64 pgdg 17.8 KiB pg_dbms_metadata_17-1.0.0-2PGDG.rhel10.noarch.rpm
Package Version OS ORG SIZE File URL
pg_dbms_metadata_16 1.0.0 el8.x86_64 pgdg 17.7 KiB pg_dbms_metadata_16-1.0.0-1PGDG.rhel8.noarch.rpm
pg_dbms_metadata_16 1.0.0 el8.aarch64 pgdg 17.6 KiB pg_dbms_metadata_16-1.0.0-1PGDG.rhel8.noarch.rpm
pg_dbms_metadata_16 1.0.0 el9.x86_64 pgdg 17.3 KiB pg_dbms_metadata_16-1.0.0-1PGDG.rhel9.noarch.rpm
pg_dbms_metadata_16 1.0.0 el9.aarch64 pgdg 17.2 KiB pg_dbms_metadata_16-1.0.0-1PGDG.rhel9.noarch.rpm
pg_dbms_metadata_16 1.0.0 el10.x86_64 pgdg 17.9 KiB pg_dbms_metadata_16-1.0.0-2PGDG.rhel10.noarch.rpm
pg_dbms_metadata_16 1.0.0 el10.aarch64 pgdg 17.8 KiB pg_dbms_metadata_16-1.0.0-2PGDG.rhel10.noarch.rpm
Package Version OS ORG SIZE File URL
pg_dbms_metadata_15 1.0.0 el8.x86_64 pgdg 17.7 KiB pg_dbms_metadata_15-1.0.0-1PGDG.rhel8.noarch.rpm
pg_dbms_metadata_15 1.0.0 el9.x86_64 pgdg 17.3 KiB pg_dbms_metadata_15-1.0.0-1PGDG.rhel9.noarch.rpm
pg_dbms_metadata_15 1.0.0 el9.aarch64 pgdg 17.2 KiB pg_dbms_metadata_15-1.0.0-1PGDG.rhel9.noarch.rpm
pg_dbms_metadata_15 1.0.0 el10.x86_64 pgdg 17.9 KiB pg_dbms_metadata_15-1.0.0-2PGDG.rhel10.noarch.rpm
pg_dbms_metadata_15 1.0.0 el10.aarch64 pgdg 17.8 KiB pg_dbms_metadata_15-1.0.0-2PGDG.rhel10.noarch.rpm
Package Version OS ORG SIZE File URL
pg_dbms_metadata_14 1.0.0 el8.x86_64 pgdg 17.7 KiB pg_dbms_metadata_14-1.0.0-1PGDG.rhel8.noarch.rpm
pg_dbms_metadata_14 1.0.0 el8.aarch64 pgdg 17.6 KiB pg_dbms_metadata_14-1.0.0-1PGDG.rhel8.noarch.rpm
pg_dbms_metadata_14 1.0.0 el9.x86_64 pgdg 17.3 KiB pg_dbms_metadata_14-1.0.0-1PGDG.rhel9.noarch.rpm
pg_dbms_metadata_14 1.0.0 el9.aarch64 pgdg 17.2 KiB pg_dbms_metadata_14-1.0.0-1PGDG.rhel9.noarch.rpm
pg_dbms_metadata_14 1.0.0 el10.x86_64 pgdg 17.9 KiB pg_dbms_metadata_14-1.0.0-2PGDG.rhel10.noarch.rpm
pg_dbms_metadata_14 1.0.0 el10.aarch64 pgdg 17.8 KiB pg_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