The list of all the queries

Base table columns with a composite type

Query goal: Find base table columns with a composite type. Think through as to whether a column with a composite type could be replaced with a separate table.
Query type: General (Overview of some aspect of the database.)
Query license: MIT License
Data source: system catalog only
SQL query: Click on query to copy it

SELECT 
n.nspname AS table_schema,
c.relname AS table_name,
at.attname AS column_name,
n_type.nspname AS type_schema,
t.typname AS type_name,
(SELECT string_agg(attname || ' ' || typname, ', ' ORDER BY attnum) AS type_structure
FROM pg_attribute INNER JOIN pg_type ON pg_attribute.atttypid=pg_type.oid
WHERE pg_attribute.attrelid=t.typrelid
AND pg_attribute.attisdropped='f'
AND pg_attribute.attnum>0) AS type_structure
FROM pg_attribute at INNER JOIN pg_class c ON at.attrelid=c.oid
INNER JOIN pg_namespace AS n ON n.oid=c.relnamespace
INNER JOIN pg_authid AS a ON n.nspowner=a.oid
INNER JOIN pg_type AS t ON at.atttypid=t.oid
INNER JOIN pg_class AS c_type ON t.typrelid=c_type.oid
INNER JOIN pg_namespace AS n_type ON n_type.oid=c_type.relnamespace
WHERE (n.nspname='public' OR rolname<>'postgres')
AND c.relkind='r' 
AND at.attisdropped='f'
AND at.attnum>0
AND t.typtype='c'
ORDER BY table_schema, table_name, column_name;

Collections where the query belongs to

Collection nameCollection description
Find problems by overviewQueries that results point to different aspects of database that might have problems. A human reviewer has to decide based on the results as to whether there are problems or not .

Categories where the query belongs to

Category nameCategory description
Data typesQueries of this category provide information about the data types and their usage.
User-defined typesQueries of this category provide information about user-defined types in the database.

Reference materials for further reading

Reference
https://www.postgresql.org/docs/current/rowtypes.html

The list of all the queries