PostgreSQLでテーブル一覧情報を取得

PostgreSQLでは、MySQLのようにshow tablesでテーブル一覧情報を取得することができない。

psqlで接続している場合は、\dコマンドでテーブル一覧を取得できるが、その他のクライアントで接続中はこのコマンドも使用できない。

このような場合は、pg_catalogスキーマを使用すればテーブル一覧情報を取得することができる。

SELECT * FROM pg_catalog.pg_tables WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema';