0dfec506cf
* Add postgres 10/11 to test matrix * Add docker-compose file fo running multiple postgres versions locally * Fix client test for pg 10, modify function details to include specific fields * Try to install latest postgres client * Add concurrency setting
46 lines
1.1 KiB
SQL
46 lines
1.1 KiB
SQL
WITH all_objects AS (
|
|
SELECT
|
|
c.oid,
|
|
n.nspname AS schema,
|
|
c.relname AS name,
|
|
CASE c.relkind
|
|
WHEN 'r' THEN 'table'
|
|
WHEN 'v' THEN 'view'
|
|
WHEN 'm' THEN 'materialized_view'
|
|
WHEN 'i' THEN 'index'
|
|
WHEN 'S' THEN 'sequence'
|
|
WHEN 's' THEN 'special'
|
|
WHEN 'f' THEN 'foreign_table'
|
|
END AS type,
|
|
pg_catalog.pg_get_userbyid(c.relowner) AS owner,
|
|
pg_catalog.obj_description(c.oid) AS comment
|
|
FROM
|
|
pg_catalog.pg_class c
|
|
LEFT JOIN
|
|
pg_catalog.pg_namespace n ON n.oid = c.relnamespace
|
|
WHERE
|
|
c.relkind IN ('r','v','m','S','s','')
|
|
AND n.nspname !~ '^pg_toast'
|
|
AND n.nspname NOT IN ('information_schema', 'pg_catalog')
|
|
AND has_schema_privilege(n.nspname, 'USAGE')
|
|
|
|
UNION
|
|
|
|
SELECT
|
|
p.oid,
|
|
n.nspname AS schema,
|
|
p.proname AS name,
|
|
'function' AS function,
|
|
pg_catalog.pg_get_userbyid(p.proowner) AS owner,
|
|
NULL AS comment
|
|
FROM
|
|
pg_catalog.pg_namespace n
|
|
JOIN
|
|
pg_catalog.pg_proc p ON p.pronamespace = n.oid
|
|
WHERE
|
|
n.nspname !~ '^pg_toast'
|
|
AND n.nspname NOT IN ('information_schema', 'pg_catalog')
|
|
)
|
|
SELECT * FROM all_objects
|
|
ORDER BY 1, 2
|