PostgreSQL 中文参考文档
🌐 英文原版 官方 ↗

53.27. pg_shmem_allocations #

pg_shmem_allocations 视图显示从服务器的 主共享内存段做出的分配。 这既包括 PostgreSQL 自身分配的内存, 也包括使用 Section 36.10.11 中详述的机制由扩展分配的 内存。

注意,这个视图不包含使用动态共享内存基础设施分配的内存。

Table 53.27. \1 字段列说明

Column Type

Description

name text

共享内存分配的名称。 未使用的内存为 NULL,匿名分配为 <anonymous>。

off int8

分配开始的偏移。 匿名分配为 NULL,因为与它们相关的细节是未知的。

size int8

分配的大小(以字节计)

allocated_size int8

分配以字节计的大小,包括填充。 对匿名分配,没有关于填充的信息可用,因此 size 和 allocated_size 列始终相等。 填充对空闲内存没有意义,因此那种情况下这两列也 相等。


匿名分配是直接用 ShmemAlloc() 做出的分配, 而不是经由 ShmemInitStruct() 或 ShmemInitHash() 做出的。

默认情况下,只有超级用户或具有 pg_read_all_stats 角色特权的角色才能读取 pg_shmem_allocations 视图。