PostgreSQL中的记录表和模式大小
这是查询postgres数据库大小的简单方法吗? 我正在尝试这样做:PostgreSQL中的记录表和模式大小,postgresql,size,Postgresql,Size,这是查询postgres数据库大小的简单方法吗? 我正在尝试这样做: select 'session_metrics',pg_size_pretty(pg_total_relation_size('schema1.session_metrics')) union select 'transaction_metrics',pg_size_pretty(pg_total_relation_size('schema1.transaction_metrics')) union select 'cooki
select 'session_metrics',pg_size_pretty(pg_total_relation_size('schema1.session_metrics'))
union
select 'transaction_metrics',pg_size_pretty(pg_total_relation_size('schema1.transaction_metrics'))
union
select 'cookie_user_metrics',pg_size_pretty(pg_total_relation_size('schema1.cookie_user_metrics'))
union
select 'cookie_transaction_metrics',pg_size_pretty(pg_total_relation_size('schema1.cookie_transaction_metrics'));
并将这些值存储在表中,以便以后可以轻松跟踪表的增长率。
问题是我现在有50多个不同的表,我不想每次创建新表时都添加一行查询
如果有人能让我了解以下情况,我将不胜感激:
select table_name, schema_name, size;
您要查找的“表名”表是pg_catalog.pg_名称空间。 以下查询改编自psql
\d
命令:
SELECT n.nspname as "Schema",
c.relname as "Name",
pg_catalog.pg_size_pretty(pg_catalog.pg_table_size(c.oid)) as "Size",
now() as "Timestamp"
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE n.nspname <> 'pg_catalog'
AND n.nspname <> 'information_schema'
AND n.nspname !~ '^pg_toast'
选择n.nspname作为“Schema”,
c、 将名称重新命名为“名称”,
pg_catalog.pg_size_pretty(pg_catalog.pg_table_size(c.oid))作为“size”,
now()作为“时间戳”
来自pg_catalog.pg_c类
左连接pg_catalog.pg_命名空间n ON n.oid=c.relnamespace
其中n.nspname“pg_目录”
和n.nspname“信息\模式”
还有n.name!~'^pg_吐司'
由于您计划随时间比较大小,因此我冒昧地添加了时间戳。您要查找的“表名”表是pg_catalog.pg_名称空间。 以下查询改编自psql
\d
命令:
SELECT n.nspname as "Schema",
c.relname as "Name",
pg_catalog.pg_size_pretty(pg_catalog.pg_table_size(c.oid)) as "Size",
now() as "Timestamp"
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE n.nspname <> 'pg_catalog'
AND n.nspname <> 'information_schema'
AND n.nspname !~ '^pg_toast'
选择n.nspname作为“Schema”,
c、 将名称重新命名为“名称”,
pg_catalog.pg_size_pretty(pg_catalog.pg_table_size(c.oid))作为“size”,
now()作为“时间戳”
来自pg_catalog.pg_c类
左连接pg_catalog.pg_命名空间n ON n.oid=c.relnamespace
其中n.nspname“pg_目录”
和n.nspname“信息\模式”
还有n.name!~'^pg_吐司'
由于您计划随时间比较尺码,因此我冒昧添加了一个时间戳。正是我想要的,谢谢!这将是一个很酷的方式来监控我的桌子上的负载,看看是否有一个正在过度增长。这正是我想要的,谢谢!这将是一个很酷的方式来监控我的桌子上的负载,看看是否有一个正在过度增长。