Find a table by the name in PostgreSQL database

Query below finds tables with specific name in all schemas in a database. In this case it searches for 'customer' table.

Query

select table_schema,
       table_name 
from information_schema.tables 
where table_name = 'customer' 
      and table_schema not in ('information_schema', 'pg_catalog')
      and table_type = 'BASE TABLE'
order by table_schema;

Columns

  • schema_name - name of schema table was found in
  • table_name - name of table (redundant as it should be exactly the same as provided)

Rows

  • One row represents a table
  • Scope of rows: all found tables
  • Ordered by table schema

Notes

  1. There migh be more tables than one because different schemas in a database can have tables with the same names

Sample results