mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-01-24 07:16:52 -06:00
44 lines
1.6 KiB
SQL
44 lines
1.6 KiB
SQL
{# SQL query for getting columns #}
|
|
{% if object_name == 'table' %}
|
|
SELECT nsp.nspname schema_name,
|
|
cls.relname table_name,
|
|
att.attname column_name,
|
|
att.atttypid::regtype::text type_name,
|
|
att.atthasdef AS has_default,
|
|
pg_get_expr(def.adbin, def.adrelid) as default
|
|
FROM pg_catalog.pg_attribute att
|
|
INNER JOIN pg_catalog.pg_class cls
|
|
ON att.attrelid = cls.oid
|
|
INNER JOIN pg_catalog.pg_namespace nsp
|
|
ON cls.relnamespace = nsp.oid
|
|
LEFT OUTER JOIN pg_catalog.pg_attrdef def
|
|
ON def.adrelid = att.attrelid
|
|
AND def.adnum = att.attnum
|
|
WHERE nsp.nspname IN ({{schema_names}})
|
|
AND cls.relkind = ANY(array['r', 'p'])
|
|
AND NOT att.attisdropped
|
|
AND att.attnum > 0
|
|
ORDER BY 1, 2, att.attnum
|
|
{% endif %}
|
|
{% if object_name == 'view' %}
|
|
SELECT nsp.nspname schema_name,
|
|
cls.relname table_name,
|
|
att.attname column_name,
|
|
att.atttypid::regtype::text type_name,
|
|
att.atthasdef AS has_default,
|
|
pg_get_expr(def.adbin, def.adrelid) as default
|
|
FROM pg_catalog.pg_attribute att
|
|
INNER JOIN pg_catalog.pg_class cls
|
|
ON att.attrelid = cls.oid
|
|
INNER JOIN pg_catalog.pg_namespace nsp
|
|
ON cls.relnamespace = nsp.oid
|
|
LEFT OUTER JOIN pg_catalog.pg_attrdef def
|
|
ON def.adrelid = att.attrelid
|
|
AND def.adnum = att.attnum
|
|
WHERE nsp.nspname IN ({{schema_names}})
|
|
AND cls.relkind = ANY(array['v', 'm'])
|
|
AND NOT att.attisdropped
|
|
AND att.attnum > 0
|
|
ORDER BY 1, 2, att.attnum
|
|
{% endif %}
|