postgres 何かしらレコードが入っているテーブル
統計情報から取得できる
c.f. https://lets.postgresql.jp/documents/technical/statistics/3
以下の例では n_live_tup (保持されている有効な行数) を使っているが、これが適切かどうかはわからない
code:sql
select relname from pg_stat_user_tables where schemaname = 'SCHEMA' and n_live_tup > 0
例えばこれを利用してテストDBの初期化を、何かしらレコードが入っているテーブルに対してのみ TRUNCATE するようにするなどして高速化を図ることができる
c.f. https://blog.mono0x.net/2016/04/04/optimize-truncate/
/icons/注意.icon ただあくまで統計情報なので常に正しいわけではない
レコードを追加したはずが検出されずに TRUNCATE もされずテストが失敗するというケースが散見された
#postgres