Tihiroのストレスフリーな生活

少しだけ頭使って後は根性

PostgreSQLでテーブル一覧を取得する。

環境

多分、PostgreSQL 10ぐらい

取得する

テーブルと外部テーブルとパーティションテーブル(親)をSELECTする。

SELECT
    nam.nspname
  , cls.relname
  , cls.relkind
FROM
  pg_class cls
    INNER JOIN pg_namespace nam
                 ON cls.relnamespace = nam.oid
WHERE
      cls.relkind IN ( 'r', 'f', 'p' )
  AND cls.relispartition = 'f'
ORDER BY
    nam.nspname
  , cls.relname

パーティションテーブルと子テーブルをSELECTする。

SELECT
  *
FROM
  pg_class
WHERE
  relkind = 'p'
  OR relispartition = true
ORDER BY
  relname