PostgreSQL 选择结果大小

2024-05-03

我在 PostgreSQL 数据库中有一个表,并从该表中进行一些限制的选择,并且我想知道该选择有多少磁盘空间。我知道有一个postgres函数pg_total_relation_size这给了我数据库中某个表的大小,但是如何找到“子表”的大小?

有任何想法吗?

我使用 PostgreSQL 9.1


要获得数据大小,考虑到TOAST压缩等:

regress=> SELECT sum(pg_column_size(devices)) FROM devices WHERE country = 'US';
 sum 
-----
 105
(1 row)

要获取所需的磁盘存储,包括块分配开销、标头等:

regress=> CREATE TEMPORARY TABLE query_out AS SELECT * FROM devices WHERE country = 'US';
SELECT 3
regress=> SELECT pg_total_relation_size('query_out');
 pg_total_relation_size 
------------------------
                  16384
(1 row)

为什么结果如此不同?因为后一个查询报告的是主表的 8k 块的大小,以及 TOAST 表的 8k 块的大小。它并不关心这些块大部分是空的。

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

PostgreSQL 选择结果大小 的相关文章

  • mySQL 当 field=0 时返回所有行

    我正在做一些测试 当我查询一个表时 令人惊讶的是 查询SELECT FROM table WHERE email 0返回表中的所有行 该表没有 0 值 并且填充了常规电子邮件 为什么会出现这种情况 这可能会导致严重的安全问题 有没有办法在不
  • Jquery-nice-select 插件无法正常工作

    我正在使用 Jquery nice select 插件 http hernansartorio com jquery nice select http hernansartorio com jquery nice select 我有两个选择
  • mysql 假选择

    我的目的是 从值列表中获取多行 例如 1 2 3 4 5 a b c anything 等 mysql gt select id from accounts where id in 1 2 3 4 5 6 id 1 2 3 5 6 5 ro
  • 如何检查日期范围是否存在

    正如你从标题中可能注意到的 我的问题很难表达 但有一个问题 我有包含一些数据的 MySQL 表 在注册表中 我必须指定预订开始和结束时间 如何查询指定时间是否已登记预订 例如 我不应该能够添加从 13 20 开始到 15 00 结束的新预订
  • 在 PHP 中对逗号分隔值列表运行选择

    我在数据库上运行选择查询时遇到一些问题 一些数据以逗号分隔值的列表形式保存 例如 Table example tbl Id People Children 1 1 2 3 8 10 3 2 7 6 12 18 19 2 我正在尝试运行的示例
  • SQL 连接具有特定条件的两个表

    表A结构 表B结构 上面是两个表 TableB TableARelationID是一个relationID 用于映射表A 期望的输出 期望的结果将采用 TableA RecordID 和 TableB Text 但仅采用表 B 中的类型 2
  • 将 SELECT DISTINCT ON 查询从 Postgresql 转换为 MySQL

    我一直在使用PostgreSQL现在迁移到MySQL 在我的查询中 我正在使用PostgreSQL s SELECT DISTINCT ON col1 col2 col3 我想知道这句话是否有对应的内容MySQL 没有完全等效的方法可以将使
  • 如何在选择查询中创建新列

    在 MS Access 中 我想将新列插入到选择查询的返回结果中 新列的每一行都具有相同的值 例如 我的选择返回列 A B 我希望 C 成为选择查询创建的新列 A B C a1 b1 c a2 b2 c a3 b3 c select A B
  • MySQL ORDER BY rand(),名称 ASC

    我想获取一个包含 1000 个用户的数据库并随机选择 20 个用户 ORDER BY rand LIMIT 20 然后按名称对结果集进行排序 我想出了以下查询not像我希望的那样工作 SELECT FROM users WHERE 1 OR
  • 如果通过 SQL 查询结果没有找到记录,则应为 0

    我正在使用火鸟 我需要以下结果 但我没有得到我需要的结果 我尝试了以下查询 SELECT CASE EXTRACT MONTH FROM pd Date WHEN 1 THEN January WHEN 2 THEN February WH
  • 为什么这个简单的 MySQL 查询不返回该行?

    我在表中有一行users与用户名test 但由于某种原因 此查询返回空结果集 SELECT id FROM users WHERE username test AND id null 但是 如果我删除 id null段 查询返回结果id 1
  • MySQL Select 查询 - 仅获取值的前 10 个字符

    好的 这就是问题所在 我有一个包含一些列的表 主题 是其中一列 无论 主题 字段包含一个包含 100 个字母的字符串 我都需要从 主题 字段获取前 10 个字母 例如 Table tbl 列 id subject value SQL查询 S
  • jQuery - 选择同一级别的div

    我想在单击按钮时选择一个特定的div 唯一的问题是 它必须是buttonClicked的父div的div 示例 div class container div class box h2 Langtidsparkering h2 div cl
  • 当Where子句中的术语不在数据库中时,如何从MySQL数据库返回0?

    如果 WHERE 子句中的邻域不存在 如何让 mysql 数据库返回 0 因此 在下面的示例中 旧城区不在数据库中 我希望数据库返回 0 个事件而不是空结果 SELECT incidents neighborhoods FROM myTab
  • Linq:Select 和Where 之间有什么区别

    The Select and WhereLinq 中提供了方法 对于这两种方法 每个开发人员都应该了解什么 例如 何时使用其中一种而不是另一种 使用一种相对于另一种的优势等 Where 查找匹配的项目并仅返回匹配的项目 过滤 gt IEnu
  • 如何向 addrange select 语句添加异步“await”?

    我有一个这样的函数 public async Task
  • 如何使用 xslt 选择节点的祖父母

    我所处的情况是 我只能测试子节点 但我必须将标签应用于该子节点的祖节点 我尝试过使用
  • 如何终止正在运行的 SELECT 语句

    如何通过终止会话来停止正在运行的 SELECT 语句 该命令不断根据 SELECT 语句向我提供输出 我想在其间停止它 As you keep getting pages of results I m assuming you starte
  • 在 JavaFX 中搜索 TableView 列表

    如何在 TableWie 中查找记录 例如通过 ID 并选择创建的行并将其放在 Java 8 JavaFX 中的屏幕中间 您可以使用以下方式搜索元素 int searchId table getItems stream filter ite
  • 何时在 mysql 中使用 Union [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 对于 Union 您会在什么现实情况下使用它 因为对我来说 对具有不同列用途 含义的两个表中的两个选择查询使用联合是没有意义的 例如

随机推荐

  • 在 Maven 中解决或编译循环依赖关系 [重复]

    这个问题在这里已经有答案了 我有一个有趣的问题 而不是寻找a解决方案 我正在寻找解决方案s Alice 项目有一个 pom xml 在其中 pom 说她被包装成一个罐子 虽然她是一个坚强的女人 但她依赖鲍勃 鲍勃项目是一个互补主义者 他说他
  • 如何根据另一个属性向 XML 节点添加一个属性?

    我有以下 XML
  • Excel 2007 Visual Basic 编辑器:占用空格,四处移动光标

    我无法解决这个问题 我发现了类似的问题here https stackoverflow com questions 1164138 vba editor auto deletes spaces at the ends of lines bu
  • 箱线图与箱线图有何不同?

    我想知道当我们在海生图书馆中有箱线图时为什么会有箱线图 我知道一件事是箱线图优化了表示数据的方式 特别是对于大型数据集 但我不知道为什么 除此之外 我没有任何充分的理由使用箱线图 箱线图将中位数显示为中心线 第 50 个百分位数 然后将第
  • 隐藏控制台并执行 python 脚本

    我正在尝试使用 pyinstaller 在 Windows 10 上使用 pyqt5 模块编译在 python 3 中构建的 python 脚本 该脚本在运行时隐藏窗口 为了编译我的脚本 我执行了以下命令 pyinstaller onefi
  • 防止左浮动 div 转到新行

    我有 4 个 div 设置为向左浮动 但最后的 div 不断在较小的屏幕上换行两个新行 这真的很烦我 我希望它们随屏幕尺寸缩放 以便它们始终保持在同一行上屏幕尺寸 并且我尝试不使用桌子 这非常诱人 因为他们对此非常可靠 我想知道如何解决这个
  • R 对等证书无法使用给定的 CA 证书进行身份验证,Windows

    当尝试使用导入谷歌工作表时gs read 函数 我收到以下错误消息 在curl curl fetch memory url handle handle 中出错 对等 无法使用给定的 CA 证书对证书进行身份验证 我正在关注这个vignett
  • Julia 1.6.2 未出现在 Jupyter 笔记本中

    我已经根据这个网站安装了 julia 1 6 2 jupyter notebook 和 anaconda 3 https datatofish com add julia to jupyter https datatofish com ad
  • 如何检测图像中对象的实例?

    我有一张包含几个特定对象的图像 我想检测这些物体在该图像中的位置 为此 我有一些模型图像 其中包含我想要检测的对象 这些图像在我想要检测的对象实例周围得到了很好的裁剪 这是一个例子 在这张大图里 我想检测此模型图像中表示的对象 自从你最初发
  • 使用 Swift 获取 UITableViewCell 中 UITextField 的 indexPath

    因此 我正在构建一个详细视图控制器应用程序 它显示一个包含两部分单元格的表格 标签和文本字段 我正在尝试检索文本字段值并将其添加到数组中 我尝试使用 textField superview superview 技术 但没有成功 func t
  • Android - GC 滞后于列表视图滚动“更大”的图像

    在列表视图中 我想在列表条目上绘制一个图像 这 20 张图像必须缩放以填充垂直模式的宽度 手机分辨率为 480 x 800 像素 SGS2 图像分辨率为 400x400 大小约为 100KB 我已将图像放在可绘制文件夹中 当我滚动列表时 它
  • 如何搜索 Google 电子表格?

    我正在进行一些详尽的搜索 需要确定电子表格中是否已存在新域 URL 然而 所有 Spreadsheet 对象都没有搜索功能 即大多数 Document 对象中的 findText 功能 我觉得我错过了一些重要的事情 我缺少什么 查找文本函数
  • 在开始 Web 开发项目之前,您如何估计要花费的时间? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 当你告诉你的客户或经理这可以在10天内完成 但你花了20天才得到一个点 甚至还没有部署到现场时 感觉真的很糟糕 任何经验都可以与我分享您是如何估
  • WPF 绑定默认模式

    在我的一个应用程序中 我有这样的代码
  • RestClient发送IFormFile

    我从我的控制器收到一个文件 public async Task
  • MySQL 的 read_sql() 非常慢

    我将 MySQL 与 pandas 和 sqlalchemy 一起使用 然而 它的速度非常慢 对于一个包含 1100 万行的表 一个简单的查询需要 11 分钟以上才能完成 哪些行动可以改善这种表现 提到的表没有主键 并且仅由一列索引 fro
  • 如何在 Xamarin.Forms.Maps 中使用深色模式 Google 地图?

    我正在尝试使用 Xamarin Forms Maps nuget 包在我的 Xamarin Forms 应用程序中使用深色模式 Google 地图 我已经成功地在 iOS 地图上使用了 OnElementChanged if e NewEl
  • 如何在 Dart 中向枚举添加方法或值?

    在Java中 当您定义枚举时 您可以执行类似于以下的操作 即向枚举添加成员enum 这在 Dart 中可能吗 enum Foo one 1 two 2 final num value Foo this value 从 Dart 2 6 开始
  • POSIX:FreeBSD 与 Linux 中的管道系统调用

    在 Linux 2 6 35 22 generic 中 man pipe指出 pipeline 创建一个管道 一个可用于进程间通信的单向数据通道 在 FreeBSD 6 3 RELEASE p5 中 man pipe指出 pipeline
  • PostgreSQL 选择结果大小

    我在 PostgreSQL 数据库中有一个表 并从该表中进行一些限制的选择 并且我想知道该选择有多少磁盘空间 我知道有一个postgres函数pg total relation size这给了我数据库中某个表的大小 但是如何找到 子表 的大