如何找到 Postgres / PostgreSQL 表及其索引的磁盘大小

2024-04-08

我从 Oracle 转到 Postgres,并寻找一种方法来查找表和索引大小:bytes/MB/GB/etc,或者甚至更好的所有表的大小。在 Oracle 中,我有一个令人讨厌的长查询,它查看 user_lobs 和 user_segments 以返回答案。

我假设在 Postgres 中有一些我可以使用的东西information_schema表,但我不知道在哪里。


Try the 数据库对象大小函数 http://www.postgresql.org/docs/current/interactive/functions-admin.html#FUNCTIONS-ADMIN-DBSIZE。一个例子:

SELECT pg_size_pretty(pg_total_relation_size('"<schema>"."<table>"'));

对于所有表格,大致如下:

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
ORDER BY
    pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') DESC;

编辑:为了方便起见,这是@phord提交的查询:

SELECT
    table_name,
    pg_size_pretty(table_size) AS table_size,
    pg_size_pretty(indexes_size) AS indexes_size,
    pg_size_pretty(total_size) AS total_size
FROM (
    SELECT
        table_name,
        pg_table_size(table_name) AS table_size,
        pg_indexes_size(table_name) AS indexes_size,
        pg_total_relation_size(table_name) AS total_size
    FROM (
        SELECT ('"' || table_schema || '"."' || table_name || '"') AS table_name
        FROM information_schema.tables
    ) AS all_tables
    ORDER BY total_size DESC
) AS pretty_sizes;

我稍微修改了一下就可以使用了pg_table_size()包含元数据并使大小相加。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何找到 Postgres / PostgreSQL 表及其索引的磁盘大小 的相关文章

  • Postgres 平均值计算忽略 null

    这是我的 postgres 表 name revenue John 100 Will 100 Tom 100 Susan 100 Ben 5 rows 在这里 当我计算平均收入时 它返回 100 这显然不是这种情况 而总和 计数 即 400
  • 随机数据库与 AWS 中的 Django 和 Postgresql 断开连接

    我试图找出 Django 和数据库连接错误问题的根源 此时 我正在调试提示 因为我认为症状太不具体 一些背景 我一直在使用这个堆栈 在 AWS 中部署了很多年 没有出现任何问题 Ubuntu 在本例中为 20 04 LTS Nginx Uw
  • Postgres:显示继承的字段

    我应该实现什么查询来获取继承的列 读过this http www alberton info postgresql meta info html综合帖子没有找到解决办法 如果我理解正确的话 您想知道作为表之间继承的一部分的列的名称 SELE
  • postgreSQL 在 WAMP 上的集成

    我刚刚在 Windows 7 上安装了 postgreSQL 我正在尝试将 postgreSQL 与 WAMP 服务器集成 为此 我在 httpd conf 和 php ini 文件中进行了以下更改 1个加载模块c path to libp
  • pg_dump 与 pg_dumpall?使用哪一个来进行数据库备份?

    I tried pg dump然后在另一台机器上我尝试导入 sql 并填充数据库 我看到 CREATE TABLE ERROR role prod does not exist CREATE TABLE ERROR role prod do
  • 如何存储没有年份部分的生日?

    类似问题 Postgres 生日选择 https stackoverflow com questions 6913719 postgres birthdays selection 我们正在设计一项新功能 我们将存储人们生日的月份和日期部分
  • 使用 NLog .NET Core 将日志记录到 PostgreSQL DB

    我尝试将日志记录集成到 NET Core 中的数据库 我能够设置 NLog 并将消息记录到 SQL Server 这很容易 但是当我尝试将 DB 切换到 PostgreSQL 时 似乎没有记录任何内容 以下是startup cs中的代码 p
  • postgresql 登录到另一个表时发生冲突

    我正在使用 PostgreSQL 9 5 并尝试使用批量插入每天插入数百万行 INSERT INTO tours as cst adults country id price VALUES 3 129 80 2 119 120 on con
  • 带有可变 WHERE 子句的批量 UPDATE 表

    我有一堆值对 foo1 bar1 foo2 bar2 我想做一堆更新 将 foo 列设置为 foo1 其中 bar 列为 bar1 我正在使用 psycopg2 在 Python 中执行此操作 我可以executemany与查询UPDATE
  • 在 Postgres 中存储加密数据 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我需要在 Postgres 中以加密形式存储某些数据 显然 我需要对其进行加密 存储 并且能够读取和解密 做这个的最好方式是什么 The bes
  • 如何加速spark df.write jdbc到postgres数据库?

    我是 Spark 新手 正在尝试使用 df write 加速将数据帧的内容 可以有 200k 到 2M 行 附加到 postgres 数据库 df write format jdbc options url psql url spark d
  • postgresql 不同的不工作

    我使用以下代码从数据库获取值 但是当我编写这段代码时 测试看看问题出在哪里 我注意到查询没有从数据库中获取不同的值 这是查询 select distinct ca id as id acc name as accName pIsu name
  • 将自动增量列添加到按日期排序的现有表中

    我在数据库中有一个名为 tickets 的现有表 其中包含以下列 id string Primary Key contains UUID like e6c49164 545a 43a1 845f 73c5163962f2 date bigi
  • Django 独特的不工作

    我在从查询中过滤掉重复项时遇到问题 我正在使用 Django 1 4 和 Postgres 8 4 13 我在我的模型对象上使用这个查询 它是一个 jquery 自动完成 term request GET get term field re
  • pg_restore错误:角色XXX不存在

    尝试将数据库从一个系统复制到另一个系统 涉及的版本是9 5 0 源 和9 5 2 目标 源数据库名称是foodb与主人pgdba并且目标数据库名称将被命名foodb dev与主人pgdev 所有命令都在将托管副本的目标系统上运行 The p
  • JPA 支持查询 Postgres JSON 字段

    JPA 是否已经支持处理 JSON 字段的查询 如下所示 select from person where info gt gt age numeric 40 select from person where info gt gt firs
  • Rails 的多个数据库不适用于远程数据库

    我有一个远程只读 postgres 数据库 它是通过 docker 实例维护的卡尔达诺数据库同步 https github com input output hk cardano db sync 我设法将开发数据库连接到它 它工作正常 但由
  • Mac 上用户“postgres”的密码身份验证失败

    我在创建新的 psql 用户时遇到问题 因为我无法以 postgres 身份登录 psql 我已尝试过 1 sudo u postgres psql 2 sudo u postgres createuser img site P s e 他
  • Rails 中 WHERE 子句中的 ALL 运算符

    关联关系如下图所示 InstructorStudent has many fees Fee belongs to instructor student 我想要获得在所有给定数组中具有每月详细信息的指导学生 如果其中任何一个中不存在每月详细信
  • 使用 SQL 完全复制 postgres 表

    免责声明 这个问题和栈溢出问题类似here https stackoverflow com questions 198141 copy a table including indexes in postgres 但这些答案都不适用于我的问题

随机推荐

  • Android 应用程序密钥哈希与任何存储的密钥哈希不匹配

    我在 Play 商店上有一个生产应用程序 它使用 Facebook SDK 登录 当我从 Eclipse 调试应用程序时没有问题 但是当它投入生产时 在 Facebook 询问我权限后 它给了我以下错误 我已使用以下命令在developer
  • 如何杀死 ubuntu 上端口上的进程

    我正在尝试在命令行中终止 ubuntu 中特定端口的进程 如果我运行此命令 我会得到端口 sudo lsof t i 9001 所以 现在我想运行 sudo kill sudo lsof t i 9001 我收到此错误消息 ERROR ga
  • 如何使用 Python 将 Excel 图表粘贴到 PowerPoint 占位符中?

    我有一个 excel 文件 其中一个名为的选项卡上有一系列格式化图表Charts 我已经给图表命名了 Figure1 Figure2 Figure3 etc 我有一个现有的 PowerPoint 模板 该模板每张幻灯片有 2 个占位符 以便
  • 列表视图的自定义适配器

    我想创建一个custom adapter对于我的列表视图 是否有任何文章可以引导我完成如何创建一个并解释其工作原理 public class ListAdapter extends ArrayAdapter
  • Cordova 3.7 在每个本机调用上复制 iframe

    自从我升级到 Cordova 3 7 以来 每个本机调用都会将一个新的 iframe 附加到 DOM 如下所示 为了排除现有代码影响 cordova 的可能性 我尝试使用 cordova CLI 创建一个新代码 添加控制台插件并在 devi
  • 几何级数中的数字

    如何在 R 中生成几何级数中的数字序列 例如我需要生成序列 1 2 4 8 16 32 等等 直到说一个有限值 这就是我要做的 geomSeries lt function base max base 0 floor log max bas
  • 模块之间共享资源的良好做法? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • ruby datamapper 将无法加载

    我试图通过遵循本教程来了解 Sinatra ruby 框架 http net tutsplus com tutorials ruby singing with sinatra the recall app 2 http net tutspl
  • Double Not Exists SQL逻辑解释

    有 2 张表 一张称为 drinkers 有一列名称 另一个称为 frequents 有 2 列 即 drinkers 和 bars 他们经常光顾的 我有一个查询可以回答此声明 Drinkers who frequent all bars
  • Android:以编程方式从剪贴板中删除单个项目

    Android 剪贴板服务允许您将文本或其他项目添加到剪贴板中 在大多数 Android 设备上 Clipdata 项目将被插入到未定义最大内容数的堆栈中 我的问题如下 我有一个密码管理器应用程序 可以将选定的密码插入剪贴板 但由于密码是高
  • 如何在Delphi中一次正确地释放包含各种类型的记录?

    type TSomeRecord Record field1 integer field2 string field3 boolean End var SomeRecord TSomeRecord SomeRecAr array of TS
  • CompiledQuery 与 List.Contains (where...in list) 功能?

    我正在尝试使用 Linq to Entities 编写 CompiledQuery 它将替换采用两个数组 在本例中为逗号分隔的 TEXT 参数的存储过程 本质上 SQL 是这样的 Stored Proc definition ArrayPa
  • PHP 到期日期

    背景信息 我正在为游戏 garrys mod 创建一个捐赠 购买系统 当用户通过 paypal 捐赠时 我有 php 代码来处理 iPN 并将数据输入数据库 它还会生成一个序列密钥并将其通过电子邮件发送给用户 然后用户可以在游戏中输入该密钥
  • 玩!无法将 java 列表转换为 scala 列表

    我正在尝试将字符串列表从 java 控制器传递到 scala 模板 这是查看代码 public static Result index List
  • 如何从 JavaScript 通过 TCP 套接字进行通信?

    我正在考虑 AJAX 应用程序必须轮询更新是多么的限制 而 javascript 最好能够建立到服务器的真正的双向连接 我想知道是否有某种方法将 javascript 与浏览器插件集成 可以建立 TCP 连接 以便我可以将数据传入和传出浏览
  • 如果用户在 WPF 中键入任何内容,请检查密码框

    我在用PasswordBox我想检测用户何时输入任何内容 如果是 我需要将按钮状态更改为启用 如何检查用户是否输入任何内容 在里面PasswordBox 它的行为不同于TextBox因为你不能将它绑定到文本 当用户输入任何内容时会引发一些事
  • 是否可以通过 FTP 代理使用 C# FtpWebRequest?

    据我了解 FtpWebRequest Proxy属性表示 HTTP 代理 我必须通过 FTP 代理向外部服务器发出 FTP 请求 到目前为止 我实现此功能的唯一方法是创建一个使用 Windows FTP 命令的脚本并以这种方式下载 是否可以
  • 如何在 Angular 应用程序中存储身份验证令牌

    我有一个与 REST API 服务器通信的 Angular 应用程序 SPA 我有兴趣找到存储从 API 服务器返回的访问令牌的最佳方法 以便 Angular 客户端可以使用它来验证未来的请求到 API 出于安全原因 我想将其存储为浏览器会
  • 静态转换与动态转换

    假设我有一个充满继承性的 C 库 我得到了一个Base 当我知道它实际上指向一个函数时Derived对象和Derived继承Base 但我不知道它是什么类型的继承 公共 受保护 私有 我也不知道层次结构中是否有虚函数 鉴于这种情况 无需查看
  • 如何找到 Postgres / PostgreSQL 表及其索引的磁盘大小

    我从 Oracle 转到 Postgres 并寻找一种方法来查找表和索引大小 bytes MB GB etc 或者甚至更好的所有表的大小 在 Oracle 中 我有一个令人讨厌的长查询 它查看 user lobs 和 user segmen