Skip to content

Instantly share code, notes, and snippets.

@marcomalva
Created January 9, 2024 22:25
Show Gist options
  • Save marcomalva/896dff625fe095ab2c95cd2f79bad8d7 to your computer and use it in GitHub Desktop.
Save marcomalva/896dff625fe095ab2c95cd2f79bad8d7 to your computer and use it in GitHub Desktop.
[psql - query dependent object]Query Dependent Objects #psql
-- show tables/view dependent on object source_schema_name.source_table_name
-- change WHERE clause to change object
SELECT distinct current_database()
, dependent_ns.nspname as dependent_schema
, dependent_view.relname as dependent_view
, source_ns.nspname as source_schema
, source_table.relname as source_table
-- , pg_attribute.attname as column_name
FROM pg_depend
JOIN pg_rewrite ON pg_depend.objid = pg_rewrite.oid
JOIN pg_class as dependent_view ON pg_rewrite.ev_class = dependent_view.oid
JOIN pg_class as source_table ON pg_depend.refobjid = source_table.oid
JOIN pg_attribute ON pg_depend.refobjid = pg_attribute.attrelid
AND pg_depend.refobjsubid = pg_attribute.attnum
JOIN pg_namespace dependent_ns ON dependent_ns.oid = dependent_view.relnamespace
JOIN pg_namespace source_ns ON source_ns.oid = source_table.relnamespace
WHERE source_ns.nspname = 'source_schema_name'
AND source_table.relname = 'source_table_name'
;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment