首页 > 数据库 >【数据管理】PostgreSQL空间侦探!一文掌握数据库、表、索引占用大小查询技巧!

【数据管理】PostgreSQL空间侦探!一文掌握数据库、表、索引占用大小查询技巧!

时间:2024-07-16 10:26:13浏览次数:19  
标签:PostgreSQL 侦探 数据管理 relation pg 大小 table select size

在这里插入图片描述

PostgreSQL中,了解数据库、表和索引的空间占用大小对于优化数据库性能、管理存储空间和识别潜在问题非常重要。通过使用PostgreSQL提供的系统函数和视图,我们可以轻松获取这些信息,并采取相应的措施来优化数据库。可以帮助我们优化数据库性能、管理存储空间和识别潜在的问题。

了解存储空间占用能做什么

优化数据库性能

通过查看表和索引的大小,我们可以确定哪些表或索引占用了大量的空间,可能会影响查询性能。我们可以考虑重新设计表结构、删除不必要的索引或重新组织数据以减少空间占用。

管理存储空间

了解数据库的总大小可以帮助我们规划存储需求。如果数据库的大小接近存储限制,我们可以考虑清理不必要的数据或者扩大存储容量。

识别潜在问题

通过查看数据库、表和索引的空间占用情况,我们可以发现一些潜在的问题,例如表或索引过大、数据分布不均匀等。这些问题可能会导致性能下降或存储不足的情况,我们可以及时采取措施来解决这些问题。

查看数据库空间占用

查看某个数据库的大小
select pg_database_size('test');

以人性化的方式显示大小

select pg_size_pretty(pg_database_size('gtxm'));
查看所有库的大小
select pg_database.datname, pg_database_size(pg_database.datname) AS size from pg_database;

以人性化的方式显示大小

select pg_database.datname, pg_size_pretty(pg_database_size(pg_database.datname)) AS size from pg_database;

查看表空间占用

通过pg_relation_size查看某个表的大小
select pg_relation_size('test');

以人性化的方式显示大小

select pg_size_pretty(pg_relation_size('test'));
通过pg_table_size查看某个表的大小
select pg_table_size('test');

以人性化的方式显示大小

select pg_size_pretty(pg_table_size('test'));
通过pg_total_relation_size查看某个表的大小
select pg_total_relation_size('p_operatorlog');

以人性化的方式显示大小

select pg_size_pretty(pg_total_relation_size('p_operatorlog'));
查看所有表的空间,并按大小排序
SELECT table_schema || '.' || table_name AS table_full_name, 
pg_total_relation_size('"' || table_schema || '"."' || table_name || '"')  AS size
FROM information_schema.tables WHERE table_schema = 'public'
ORDER BY
pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') DESC

以人性化的方式显示大小

SELECT table_schema || '.' || table_name AS table_full_name, 
pg_size_pretty(pg_total_relation_size('"' || table_schema || '"."' || table_name || '"'))  AS size
FROM information_schema.tables WHERE table_schema = 'public'
ORDER BY
pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') DESC

查看索引空间占用

查看某个索引的大小
select pg_relation_size('pk_test');

以人性化的方式显示大小

select pg_size_pretty(pg_relation_size('pk_test'));
查看某个表的索引的大小
select pg_indexes_size('p_test');

以人性化的方式显示大小

select pg_size_pretty(pg_indexes_size('p_test'));
查看某个库的索引的大小
select indexrelname, pg_relation_size(relid) from pg_stat_user_indexes where schemaname='public' order by pg_relation_size(relid) desc;

以人性化的方式显示大小

select indexrelname, pg_size_pretty(pg_relation_size(relid)) from pg_stat_user_indexes where schemaname='public' order by pg_relation_size(relid) desc;

标签:PostgreSQL,侦探,数据管理,relation,pg,大小,table,select,size
From: https://blog.csdn.net/aaalk1001/article/details/140458058

相关文章

  • Docker的数据管理和网络通信
    目录一、Docker的数据管理1.数据卷2.数据卷容器二、端口映射三、容器互联(使用centos镜像)四、*Docker镜像的创建1.基于现有镜像创建2.基于本地模板创建3.基于Dockerfile创建//联合文件系统(UnionFS)//镜像加载原理//Dockerfile五、Dockerfile案例六、搭建本地私有仓......
  • Windows版PostgreSQL数据库下载及安装教程(关系型数据库管理系统)
    前言PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统(RDBMS)。PostgreSQL最初设想于1986年,当时被叫做BerkleyPostgresProject。该项目一直到1994年都处于演进和修改中,直到开发人员AndrewYu和JollyChen在Postgres中添加了一个SQL(StructuredQuery......
  • 数据库_SQL-PostgreSQL
    PostgreSQL1.基本的架构: thebasic PostgreSQL systemarchitecture:aclient/servermode  Aserverprocess  Theuser'sclient  theycommunicateoveraTCP/IPnetworkconnection.2.基本概念  database TABLErowspsql1.安装完postgr......
  • Nuxt.js 错误侦探:useError 组合函数
    title:Nuxt.js错误侦探:useError组合函数date:2024/7/14updated:2024/7/14author:cmdragonexcerpt:摘要:文章介绍Nuxt.js中的useError组合函数,用于统一处理客户端和服务器端的错误,提供statusCode、statusMessage和message属性,示例展示了如何在组件中使用它来捕获和显......
  • PostgreSQL的pg_dirtyread工具
    PostgreSQL的pg_dirtyread工具pg_dirtyread是一个第三方PostgreSQL扩展,它允许用户读取数据库文件中的“脏”数据,即那些被标记为删除或不再可见的数据。这个扩展对于数据恢复和调试非常有用,尤其是在需要恢复被删除或更新前的数据时。以下是关于pg_dirtyread的一些关键点......
  • PostgreSQL日志文件配置,记录所有操作记录
    为了更详细的记录PostgreSQL的运行日志,我们一般需要修改PostgreSQL默认的配置文件,这里整理了一些常用的配置修改配置文件打开PostgreSQL配置文件postgresql.conf。该文件通常位于PostgreSQL安装目录下的data文件夹中。找到并修改以下配置项:logging_collector......
  • 【postgresql】时间函数和操作符
    日期/时间操作符加减操作符:+ 和 - 可以用于日期、时间、时间戳和时间间隔的加减操作。SELECT'2024-01-01'::date+INTERVAL'1day'as"date";;--结果:2024-01-02SELECT'2024-01-0112:00:00'::timestamp-INTERVAL'2hours'as"timestamp......
  • 【postgresql】锁
    PostgreSQL提供了多种锁模式来控制对表和行的并发访问,以确保数据的一致性和完整性。这些锁模式包括表级锁和行级锁,它们可以由应用程序显式控制,也可以在执行大多数PostgreSQL命令时自动获取。锁类型PostgreSQL类型的锁包括:表级锁(Table-LevelLocks):ACCESSSHARE:通常在SE......
  • 在 PostgreSQL(简称 pg)数据库中,普通用户修改自己的密码可以通过 SQL 命令完成?可以
    查看权限ALTERUSERusernameWITHPASSWORD'newpassword';如果你是以普通用户身份登录,通常你只能更改自己的密码,而不能更改其他用户的密码。在PostgreSQL中,普通用户通常拥有的权限取决于他们在数据库中的角色和分配给他们的权限。数据库管理员(DBA)可以为不同的用......
  • PostgreSQL 中如何处理数据的存储压缩和查询性能的平衡?
    文章目录PostgreSQL中数据存储压缩与查询性能的平衡之道PostgreSQL中数据存储压缩与查询性能的平衡之道在数据库管理的广袤领域中,PostgreSQL犹如一位稳重可靠的智者,为我们提供了丰富的功能和强大的性能。然而,当面对数据存储压缩和查询性能这对“欢喜冤家”时,如......