PostgreSQL 查看數據庫及表中數據占用空間大小

1、應用場景

場景1:查看數據庫占用空間大小

SELECT pg_size_pretty(pg_database_size('database_name'));

場景2:查看每張表占用空間大小

SELECTtable_schema || '.' || table_name AS table,#僅表數據pg_size_pretty(pg_relation_size(table_schema || '.' || table_name)) AS size#表數據+索引數據#pg_size_pretty(pg_total_relation_size(table_schema || '.' || table_name)) AS size
FROM information_schema.tables
WHERE table_schema = 'public'
ORDER BYpg_relation_size(table_schema || '.' || table_name) DESC;#pg_total_relation_size(table_schema || '.' || table_name) DESC;

查看特定表占用大小, 可用:

#僅表數據
SELECT pg_size_pretty(pg_relation_size('schemal_test.table_test'));
#表數據+索引數據
SELECT pg_size_pretty(pg_total_relation_size('schemal_test.table_test'));
2、PostgreSQL 空間大小知多少
表空間(Table Space)
#查找 postgresql 表空間大小
SELECT pg_size_pretty (pg_tablespace_size ('tablespace_name'));#所有表空間的名稱和大小
SELECT spcname, pg_size_pretty(pg_tablespace_size(spcname)) as size from pg_tablespace;
數據庫(Database)
#查找單個 postgresql 數據庫大小
SELECT pg_size_pretty(pg_database_size('db_name'));#所有數據庫的總大小,以易讀的格式顯示
SELECT pg_size_pretty(SUM(pg_database_size(datname))) FROM pg_database;#查看所有數據庫的列表及其大小(以 GB 為單位),降序
SELECTpg_database.datname as db_name,pg_database_size(pg_database.datname)/1024/1024/1024 as db_size
FROM pg_database ORDER by db_size DESC;#或 pg_size_pretty用修飾大小
SELECTpg_database.datname as db_name,pg_size_pretty(pg_database_size(pg_database.datname)) as db_size
FROM pg_database ORDER by pg_database_size(pg_database.datname) DESC;#查看所有數據庫的名稱、所有者以及它們各自的大小
SELECT db.datname AS db_name,pg_catalog.pg_get_userbyid(db.datdba) AS owner,CASEWHEN pg_catalog.has_database_privilege(db.datname, 'CONNECT') THENpg_catalog.pg_size_pretty(pg_catalog.pg_database_size(db.datname))ELSE 'No Access'END AS size
FROM pg_catalog.pg_database db
ORDER BY CASEWHEN pg_catalog.has_database_privilege(db.datname, 'CONNECT') THENpg_catalog.pg_database_size(db.datname)END;
模式(Schema)
#當前模式或任何模式中所有表的大小、表相關對象的大小以及總表大小
SELECT stats.relname as table_name,pg_size_pretty(pg_relation_size(statios.relid)) as table_size,pg_size_pretty(pg_total_relation_size(statios.relid) - pg_relation_size(statios.relid)) as external_size,pg_size_pretty(pg_total_relation_size(statios.relid)) as total_table_size,stats.n_live_tup as live_rows
FROM pg_catalog.pg_statio_user_tables as statios
JOIN pg_stat_user_tables as stats
USING (relname)
WHERE stats.schemaname = 'schema_name'  -- 替換成模式名稱
UNION ALL
SELECT 'TOTAL' as table_name,pg_size_pretty(sum(pg_relation_size(statios.relid))) AS table_size,pg_size_pretty(sum(pg_total_relation_size(statios.relid) - pg_relation_size(statios.relid))) AS external_size,pg_size_pretty(sum(pg_total_relation_size(statios.relid))) AS total_table_size,sum(stats.n_live_tup) AS live_rows
FROM pg_catalog.pg_statio_user_tables AS statios
JOIN pg_stat_user_tables AS stats
USING (relname)
WHERE stats.schemaname = 'schema_name'  -- 替換成模式名稱
ORDER BY live_rows ASC;
表(Table-Relation)
#查看postgresql 數據庫的單個表大小-不包括依賴項大小:
SELECT pg_size_pretty(pg_relation_size('schema_test.table_name'));
#SELECT pg_size_pretty(pg_relation_size('table_name'));#查看postgresql 數據庫的單個表大小-包括依賴項大小:
SELECT pg_size_pretty(pg_total_relation_size('schema_test.table_name'));
#SELECT pg_size_pretty(pg_total_relation_size('table_name'));#查找當前數據庫中每張表大小,包含索引
SELECT table_schema || '.' || table_name as table_name, pg_size_pretty(pg_total_relation_size('"' || table_schema || '"."' || table_name || '"')) as table_size 
FROM information_schema.tables 
ORDER BY pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') DESC#查找當前數據庫中每張表和索引大小,包含索引
SELECTtable_name,pg_size_pretty(pg_table_size(table_name)) as table_size,pg_size_pretty(pg_indexes_size(table_name)) as index_size, pg_size_pretty(pg_total_relation_size(table_name)) as total_size
FROM (select ('"' || table_schema || '"."' || table_name || '"') as table_name FROM information_schema.tables) as tables
ORDER BY 4 DESC#查看表大小以及依賴項大小
SELECT schemaname as schema_name,relname as table_name,pg_size_pretty(pg_total_relation_size(relid)) as table_size,pg_size_pretty(pg_total_relation_size(relid) - pg_relation_size(relid)) as external_size
FROM pg_catalog.pg_statio_user_tables
ORDER BY pg_total_relation_size(relid) DESC;#查看所有表的行數
select relname as table_name, reltuples as rows from pg_class where relkind = ‘r’ order by rowCounts desc
索引(Index-Relation)
#postgresql數據庫的單個索引大小:
SELECT pg_size_pretty(pg_indexes_size('index_name'));#列出數據庫中每個索引的大小
SELECT indexrelname, pg_size_pretty(pg_relation_size(relid)) from pg_stat_user_indexes;
列(Column)
#PostgreSQL 列值大小, 要查找存儲特定值需要多少空間,可以使用 pg_column_size() 函數,例如:
select pg_column_size(5::smallint);
select pg_column_size(5::int);
select pg_column_size(5::bigint);#獲取OID
select * from pg_class where relname='table_name';
select oid, datname from pg_database;#查看文件地址
select pg_relation_filepath('table_name');
函數說明

函數名

返回類型

描述

pg_column_size(any)

int

存儲一個指定的數值需要的字節數(可能壓縮過)

pg_database_size(oid)

bigint

指定OID的數據庫使用的磁盤空間

pg_database_size(name)

bigint

指定名稱的數據庫使用的磁盤空間

pg_indexes_size(regclass)

bigint

關聯指定表OID或表名的表索引的使用總磁盤空間

pg_relation_size(relation regclass, fork text)

bigint

指定OID或名的表或索引,通過指定fork(‘main’,‘fsm’ 或’vm’)所使用的磁盤空間

pg_relation_size(relation regclass)

bigint

pg_relation_size(…, ‘main’)的縮寫

pg_size_pretty(bigint)

text

把以字節計算的數值轉換成一個人類易讀的單位

pg_size_pretty(numeric)

text

把以字節計算的數值轉換成一個人類易讀的單位

pg_table_size(regclass)

bigint

指定表OID或表名的表使用的磁盤空間,除去索引(但是包含TOAST,自由空間映射和可視映射)

pg_tablespace_size(oid)

bigint

指定OID的表空間使用的磁盤空間

pg_tablespace_size(name)

bigint

指定名稱的表空間使用的磁盤空間

pg_total_relation_size(regclass)

bigint

指定表OID或表名使用的總磁盤空間,包括所有索引和TOAST數據

oid獲取
#獲取數據表的OID
select oid,relname from pg_class where relname='table_name';
#獲取數據庫的OID
select oid, datname from pg_database;
#獲取數據表的文件路徑
select pg_relation_filepath('table_name');

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/70918.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/70918.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/70918.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

c++中打印任意類型任意長度數組的各種方式

目錄 一、代碼 二、詳細解釋 1. print 函數模板 2. array_size 函數模板 3. print1 函數模板 4. print2 函數模板 5. my_begin 和 my_end 函數模板 6. print3 函數模板 7. main 函數 總結 一、代碼 如下代碼給出了5種方式打印任意類型任意長度的數組。這段代碼定義了…

ubuntu下r8125網卡重啟丟失修復案例一則

剛裝的一臺服務器,ubuntu24.04,主板網卡是r8125,安裝服務后會莫名其妙丟失驅動 按照官網的方法下載最新8125驅動包: Realtek 然后卸載驅動 rmmod r8125 然后在驅動包里安裝(幸好我之前裝了build-essential&#x…

[Python學習日記-84] 進程理論

[Python學習日記-84] 進程理論 簡介 進程的概念 并發與并行的區別 進程并發的實現 簡介 進程理論是計算機科學中一種重要的概念,用來描述操作系統中執行的程序實例。在操作系統中,每個程序的執行被稱為一個進程。進程理論研究進程的創建、調度、通信…

云創智城YunCharge 新能源二輪、四輪充電解決方案(云快充、萬馬愛充、中電聯、OCPP1.6J等多個私有單車、汽車充電協議)之新能源充電行業系統說明書

云創智城YunCharge 新能源充電行業系統說明書 ?官方文檔 ?官網地址 1. 引言 隨著全球環境保護和能源危機的加劇,新能源汽車行業得到了快速發展,充電基礎設施建設也隨之蓬勃發展。新能源充電行業系統旨在提供高效、便捷的充電服務,滿足電…

OpenWebUI配置異常的外部模型導致頁面無法打開

一、使用Ollama關閉OpenAI OpenWebUI自帶OpenAI的API設置,且默認是打開的,默認情況下,啟動后,會不斷的去連https://api.openai.com/v1,但是無法連上,會報錯,但是不會影響頁面,能正常…

RuntimeWarning: invalid value encountered in scalar power在進行標量的冪運算時遇到了無效值

year_profit ((profit / initial_cash) ** (1 / yy) - 1) * 100 RuntimeWarning: invalid value encountered in scalar power 這個警告表示在執行標量冪運算 ((profit / initial_cash) ** (1 / yy) - 1) * 100 時遇到了無效值。常見的引發原因及解決辦法如下: ###…

計算機畢業設計 ——jspssm506Springboot 的舊物置換網站

📘 博主小檔案: 花花,一名來自世界500強的資深程序猿,畢業于國內知名985高校。 🔧 技術專長: 花花在深度學習任務中展現出卓越的能力,包括但不限于java、python等技術。近年來,花花更…

Kafka消費者相關

Kafka生產者相關-CSDN博客 消費者消費數據基本流程 package com.hrui;import org.apache.kafka.clients.consumer.ConsumerConfig; import org.apache.kafka.clients.consumer.ConsumerRecord; import org.apache.kafka.clients.consumer.ConsumerRecords; import org.apache…

【軟考-架構】備戰2025軟考

新老教材對比 科目1(信息系統綜合)考點詳解 科目2(系統架構設計案例)考點詳解 科目3(系統架構設計論文)考點詳解 趨于越來越具體 學習方法推薦 第一階段 – 基礎知識階段 建議一個半月; 先過…

MMW-1碳棒磨損機設計

摘 要 為了更好的測量在一定壓力下碳棒的磨損量,提高碳棒磨損量的測量精度,本文設計了一種MMW-1碳棒磨損機,該碳棒磨損機屬于柱盤式摩擦磨損試驗機的一種。該機器主要用于做和碳棒有關的摩擦磨損試驗,可以更準確的獲得相關的參數…

網絡運維學習筆記(DeepSeek優化版)005網工初級(HCIA-Datacom與CCNA-EI)鏈路層發現協議與VLAN技術

文章目錄 一、鏈路層發現協議1.1 思科CDP協議1.2 華為LLDP協議 二、VLAN(Virtual Local Area Network,虛擬局域網)技術詳解2.1 基本概念2.2 技術特性2.3 接口工作原理2.3.1 Access模式2.3.2 Trunk模式 2.4 廠商配置對比思科配置華為配置 2.5 …

SOME/IP-SD -- 協議英文原文講解5

前言 SOME/IP協議越來越多的用于汽車電子行業中,關于協議詳細完全的中文資料卻沒有,所以我將結合工作經驗并對照英文原版協議做一系列的文章。基本分三大塊: 1. SOME/IP協議講解 2. SOME/IP-SD協議講解 3. python/C舉例調試講解 5.1.2.5 S…

APNG格式圖片文件大小優化方案 轉WEBP

文章目錄 原因過程相關下載相關文檔后記 原因 頁面上有個特效動畫,PNG文件,APNG格式,13M大小,太占用內容了,要優化一下。 過程 直接上命令吧 ffmpeg -i input.apng -vf "formatrgba" -loop 0 output.web…

個人電腦小參數GPT預訓練、SFT、RLHF、蒸餾、CoT、Lora過程實踐——MiniMind圖文版教程

最近看到Github上開源了一個小模型的repo,是真正拉低LLM的學習門檻,讓每個人都能從理解每一行代碼, 從零開始親手訓練一個極小的語言模型。開源地址: GitHub - jingyaogong/minimind: 🚀🚀 「大模型」2小時…

PHP Zip 文件處理指南

PHP Zip 文件處理指南 引言 ZIP文件是一種流行的壓縮格式,廣泛用于文件壓縮和歸檔。PHP作為一門強大的服務器端腳本語言,提供了豐富的類和方法來處理ZIP文件。本文將詳細介紹PHP中ZIP文件的處理方法,包括創建、添加文件、提取文件以及壓縮和…

Java使用ZXing庫生成帶有Logo的二維碼圖片,并去除白邊動態伸縮上傳到阿里云OSS

文章目錄 引言二維碼基本原理1、二維碼概述2、QR Code結構3、錯誤糾正級別 QR Code生成技術1、ZXing庫2、生成二維碼的步驟 圖像處理技術1、嵌入Logo2. 去除白邊 阿里云OSS基本概念1、OSS概述2. 主要功能3. 基本概念 實戰演示1、依賴庫2、類結構3、生成普通二維碼4. 去除白邊5、…

AI工具箱最新使用教程

先克隆項目 電腦需要先安裝 git ,安裝的畫看這個 Git安裝教程(超詳細)。 git鏡像 git clone https://github.com/Escaflowne1985/MyToolsWebBackendUser.gitgitee鏡像 git clone https://gitee.com/escaflowne/MyToolsWebBackendUser.git…

Android-創建mipmap-anydpi-v26的Logo

利用 Android Studio 自動創建 創建新項目:打開 Android Studio,點擊 “Start a new Android Studio project” 創建新項目。在創建項目的過程中,當設置Target SDK Version為 26 或更高版本時,Android Studio 會在項目的res目錄下…

SEO煉金術(4)| Next.js SEO 全攻略

在上一篇文章 SEO煉金術(3)| 深入解析 SEO 關鍵要素 中,我們深入解析了 SEO 關鍵要素,包括 meta 標簽、robots.txt、canonical、sitemap.xml 和 hreflang,并探討了它們在搜索引擎優化(SEO)中的作…

面試葵花寶典之React(持續更新中)

1.談談你對HOC的理解 定義: 高階組件是一個接收組件作為參數并返回新組件的函數,用于復用組件邏輯,遵循純函數特性(無副作用,輸出僅依賴輸入)。 組合性:可嵌套使用多個 HOC。 HOC(…