不知道是哪个大神写的,因为我从别人的blog看到的时候,别人也注明说是忘记哪个大神写的。所以,对原创者很抱歉,不能写出来源了。
SELECT
schemaname as schema,
tablename as table_name,
pg_size_pretty(pg_relation_size(schemaname || '.' || tablename)) AS size_p,
pg_total_relation_size(schemaname || '.' || tablename) AS siz,
pg_size_pretty(pg_total_relation_size(schemaname || '.' || tablename)) AS 表总大小,
pg_total_relation_size(schemaname || '.' || tablename) - pg_relation_size(schemaname || '.' || tablename) AS 索引大小,
(100*(pg_total_relation_size(schemaname || '.' || tablename) - pg_relation_size(schemaname || '.' || tablename)))/CASE WHEN pg_total_relation_size(schemaname || '.' || tablename) = 0 THEN 1 ELSE pg_total_relation_size(schemaname || '.' || tablename) END || '%' AS index_pct
FROM pg_tables
ORDER BY siz DESC
以下为SQL执行结果:
- 大小: 57.7 KB
分享到:
相关推荐
不同之处在于,MySQL的所有数据库共享相同的系统编目,而PostgreSQL中每个数据库都有自己的系统编目,尽管它们共享`pg_databases`。 #### 三、数据缓冲区与内存管理 MySQL的数据缓冲区配置主要通过`innodb_buffer_...
例如,一个 1GB 的数据文件可能会被分成多个段文件,每个段文件的大小不超过 1GB,以提高管理效率。 #### 六、多版本并发控制 (MVCC) MVCC 是 PostgreSQL 中用于实现并发控制的核心技术之一。它允许多个事务同时...
- **缓冲池组成**:每个缓冲区可以存储一个8KB的数据页面,来源于磁盘文件。默认情况下,分配给缓冲池的空间为24MB。 - **数据存储形式**:缓冲区用于存储表数据或索引数据,这些数据是从磁盘读取并保存在内存中的,...
每个分区还可以定义自己的分区,层层分解,称为子分区(Sub-partitioning)。 表分区的三个要素: 1. 分区方法(Partitioning Method):包括 RANGE 和 LIST 两种方法,RANGE 方法是根据一个或多个列的值范围来分区...
至少需要设置`node.environment`(节点环境)、`node.id`(节点ID,确保集群中的每个节点ID唯一)、以及`coordinator=true`(如果该节点作为协调节点运行)或`worker=true`(如果作为工作节点运行)。 3. **配置JVM...
2. **版本选择**:PostgreSQL有多个版本,每个版本可能包含不同的特性、性能优化和安全更新。确保选择适合你需求的稳定版本。 3. **操作系统兼容性**:PostgreSQL支持多种操作系统,包括Windows、Linux、macOS等。...
13. **分区**:大型表可以通过分区技术来分割,每个分区有自己的索引,从而提高查询效率。PostgreSQL支持范围、列表和哈希分区。 14. **归档和备份**:有效的数据归档和备份策略可以减少主数据库的大小,加快查询...
10. **数据库创建**:作为数据库管理员,你可以使用`createdb`命令创建新的数据库,每个数据库都有自己的用户权限和表结构。 11. **备份与恢复**:了解如何进行数据库备份和恢复是十分重要的。PostgreSQL支持使用pg...
表分区不仅可以提高查询效率,还能简化备份和恢复操作,因为只需要处理每个小分区,而不是整个大表。此外,它还可以帮助减少索引大小,提高索引的查询效率。 10. **应用场景** 这个插件特别适合那些数据量巨大、...
- **版本升级**:如描述中提到的第1期,PostgreSQL 9.1发布,每个新版本通常会包含性能改进。定期升级到最新稳定版本,利用新特性提升性能。 在学习这些理论知识的同时,阅读"postgresql 官方中文杂志"的第0期和第1...
并行处理还会显著增加内存的使用,特别是对于设置了高WORK-MEM值的环境,因为每个hash连接或排序操作会占用一个WORK-MEM的内存容量。 此外,对于返回单行结果的查询,以及低延迟的OLTP查询,并行执行可能并不会带来...
- **从9.1到更高版本**:每个新版本通常包含性能改进,升级可能带来性能提升。 8. **硬件优化**: - **SSD硬盘**:提高I/O速度。 - **足够的RAM**:确保数据库能缓存常用数据。 - **多核CPU**:利用并行处理...
每个 Heap File 由一系列8KB大小的页面(Page)组成,这些页面是数据库存储的最小逻辑单位。每个 Page 包含以下几个关键部分: 1. **Page Header**:页头包含了校验和以及最后一次修改时对应的 XLOG LSN(日志...
PostgreSQL 8.3是PostgreSQL数据库管理系统的一个早期版本,发布于2008年。...理解每个步骤和相关工具的作用是成功部署和管理数据库的关键。对于开发者来说,了解其特性和功能将有助于充分利用这一强大的数据库系统。
2. **并行处理(Sharding)**:数据按照一定的规则分散到多个节点,每个节点处理一部分数据,实现水平扩展。 3. **集群(Cluster)**:多个服务器共享同一份数据,通过选举机制确保数据一致性。 **三、安装准备** 1...
**PostgreSQL**: 在PostgreSQL中,数据库也是命名的对象集合,但每个数据库是与其他数据库分离的实体。每个数据库有自己的系统编目,但是所有数据库共享`pg_databases`表。 #### 三、数据缓冲区管理 **MySQL**: ...
- `work_mem`:每个后台进程可用的内存,用于排序、哈希表等操作。 - `maintenance_work_mem`:用于数据库维护任务(如VACUUM)的最大内存。 - `max_connections`:允许的最大并发连接数。 4. **磁盘I/O参数** ...
PostgreSQL 使用固定大小的数据页来存储数据,每个页通常大小为 8KB。每一页都包含页头、自由空间和实际数据。页头包含有关该页的元数据信息,如页类型、事务 ID、行偏移量等。 #### 五、Buffer Pool 结构 缓冲池...
每个表的最大行数(MaximumRows/Table)在250到1600之间,每张表的最大列数(MaximumColumns/Table)和最大索引数(MaximumIndexes/Table)均为无限制。 5. PostgreSQL的高可用性和复制技术: 高可用性集群架构允许...
- `work_mem`:设置每个进程的内存使用量,影响排序和聚合操作的速度。 - `max_connections`:设定允许的最大连接数,防止资源耗尽。 - `listen_addresses` 和 `port`:指定服务器监听的 IP 地址和端口。 **4. ...