sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQLデータベース内のサイズ(相対および絶対)のスキーマのリスト

    これを試してください:

    SELECT schema_name, 
           sum(table_size),
           (sum(table_size) / database_size) * 100
    FROM (
      SELECT pg_catalog.pg_namespace.nspname as schema_name,
             pg_relation_size(pg_catalog.pg_class.oid) as table_size,
             sum(pg_relation_size(pg_catalog.pg_class.oid)) over () as database_size
      FROM   pg_catalog.pg_class
         JOIN pg_catalog.pg_namespace ON relnamespace = pg_catalog.pg_namespace.oid
    ) t
    GROUP BY schema_name, database_size


    編集:データベースサイズを取得するためにすべてのテーブルを合計するという回避策は必要ないことに気づきました:

    SELECT schema_name, 
           pg_size_pretty(sum(table_size)::bigint),
           (sum(table_size) / pg_database_size(current_database())) * 100
    FROM (
      SELECT pg_catalog.pg_namespace.nspname as schema_name,
             pg_relation_size(pg_catalog.pg_class.oid) as table_size
      FROM   pg_catalog.pg_class
         JOIN pg_catalog.pg_namespace ON relnamespace = pg_catalog.pg_namespace.oid
    ) t
    GROUP BY schema_name
    ORDER BY schema_name
    


    1. Oracle:2つの日付間のHH:MM:SSの時間差を計算します

    2. cordovaを使用してプロジェクトファイルにローカルに保存されているSqliteデータベースファイル[アセットフォルダ]にアクセスして更新する方法

    3. MySQLデータベースで可能な値を列挙するにはどうすればよいですか?

    4. MySQL-郵便番号を0でフロントパッドする方法は?