On Fri, Aug 12, 2022, at 5:43 PM, PG Doc comments form wrote:
> Could someone add the units of size & allocated_size on the documentation
> for pg_shmem_allocations? Currently there aren't any listed.
According to ShmemIndexEnt struct:
/* this is a hash bucket in the shmem index table */
typedef struct
{
char key[SHMEM_INDEX_KEYSIZE]; /* string name */
void *location; /* location in shared mem */
Size size; /* # bytes requested for the structure */
Size allocated_size; /* # bytes actually allocated */
} ShmemIndexEnt;
The unit is bytes. A patch is attached to add such information.
--
Euler Taveira
EDB https://www.enterprisedb.com/
diff --git a/doc/src/sgml/system-views.sgml b/doc/src/sgml/system-views.sgml
index 9728039e71..44aa70a031 100644
--- a/doc/src/sgml/system-views.sgml
+++ b/doc/src/sgml/system-views.sgml
@@ -3485,7 +3485,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
<structfield>size</structfield> <type>int8</type>
</para>
<para>
- Size of the allocation
+ Size of the allocation in bytes
</para></entry>
</row>
@@ -3494,7 +3494,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
<structfield>allocated_size</structfield> <type>int8</type>
</para>
<para>
- Size of the allocation including padding. For anonymous
+ Size of the allocation in bytes including padding. For anonymous
allocations, no information about padding is available, so the
<literal>size</literal> and <literal>allocated_size</literal> columns
will always be equal. Padding is not meaningful for free memory, so