You should be able to just run select * from information_schema.tables
to get a listing of every table being managed by Postgres for a particular database.
You can also add a where table_schema = 'information_schema'
to see just the tables in the information schema.
The view pg_tables provides access to useful information about each table in the database.
pg_tables Columns
Name | Type | References | Description |
---|---|---|---|
schemaname | name | .nspname | Name of schema containing table |
tablename | name | .relname | Name of table |
tableowner | name | .rolname | Name of table's owner |
tablespace | name | .spcname | Name of tablespace containing table (null if default for database) |
hasindexes | boolean | .relhasindex | True if table has (or recently had) any indexes |
hasrules | boolean | .relhasrules | True if table has (or once had) rules |
hastriggers | boolean | .relhastriggers | True if table has (or once had) triggers |