Query below lists all columns in views in PostgreSQL database
Query
select t.table_schema as schema_name,
t.table_name as view_name,
c.column_name,
c.data_type,
case when c.character_maximum_length is not null
then c.character_maximum_length
else c.numeric_precision end as max_length,
is_nullable
from information_schema.tables t
left join information_schema.columns c
on t.table_schema = c.table_schema
and t.table_name = c.table_name
where table_type = 'VIEW'
and t.table_schema not in ('information_schema', 'pg_catalog')
order by schema_name,
view_name;
Columns
- schema_name - view owner, schema name
- view_name - view name
- column_name - column name
- data_type - column datatype
- max_length - column length in bytes
- is_nullable - flag indicating if column allows null value
Rows
- One row represents one column in a specific view in a database
- Scope of rows: all columns in views in PostgreSQL database
- Ordered by table schema, view name,