Query below lists tables in a database without primary keys.
Query
select tab.table_schema,
tab.table_name
from v_catalog.tables tab
left join v_catalog.primary_keys pk
on tab.table_schema = pk.table_schema
and tab.table_name = pk.table_name
where pk.constraint_id is null
order by tab.table_schema,
tab.table_name;
Columns
- table_schema - schema name
- table_name - table name
Rows
- One row represents one table in a database without primary key
- Scope of rows: all tables without primary keys in a database
- Ordered by schema, table name
Sample results
Below is a list of tables in Vertica database without primary keys. Is that a lot? Check out here.