PostgreSQLでデータベース内の空でないテーブルを表示する方法


方法1: INFORMATION_SCHEMAを使用する方法

SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'public' -- テーブルが存在するスキーマを指定してください
AND table_rows > 0;

このクエリは、information_schema.tablesビューを使用してデータベース内のテーブル情報を取得します。table_schemaを適切なスキーマ名に置き換え、table_rowsが0より大きいテーブルを抽出します。

方法2: pg_stat_user_tablesを使用する方法

SELECT relname
FROM pg_stat_user_tables
WHERE n_live_tup > 0;

このクエリは、pg_stat_user_tablesシステムカタログビューを使用してデータベース内のテーブルの統計情報を取得します。n_live_tupが0より大きいテーブルを抽出します。

これらの方法を使用することで、データベース内の空でないテーブルを表示することができます。