ST_MemSize
Prev | 8.4. Geometry Accessors | Next

## Name

ST_MemSize — Returns the amount of memory space a geometry takes.

## Synopsis

`integer ST_MemSize(`geometry geomA`)`;

## Description

Returns the amount of memory space (in bytes) the geometry takes.

This complements the PostgreSQL built-in database object functions pg_column_size, pg_size_pretty, pg_relation_size, pg_total_relation_size.

pg_relation_size which gives the byte size of a table may return byte size lower than ST_MemSize. This is because pg_relation_size does not add toasted table contribution and large geometries are stored in TOAST tables. pg_total_relation_size - includes, the table, the toasted tables, and the indexes. pg_column_size returns how much space a geometry would take in a column considering compression, so may be lower than ST_MemSize

This function supports 3d and will not drop the z-index.

This method supports Circular Strings and Curves

This function supports Polyhedral surfaces.

This function supports Triangles and Triangulated Irregular Network Surfaces (TIN).

Changed: 2.2.0 name changed to ST_MemSize to follow naming convention.

## Examples

    --Return how much byte space Boston takes up  in our Mass data set
    SELECT pg_size_pretty(SUM(ST_MemSize(geom))) as totgeomsum,
    pg_size_pretty(SUM(CASE WHEN town = 'BOSTON' THEN ST_MemSize(geom) ELSE 0 END)) As bossum,
    CAST(SUM(CASE WHEN town = 'BOSTON' THEN ST_MemSize(geom) ELSE 0 END)*1.00 /
    		SUM(ST_MemSize(geom))*100 As numeric(10,2)) As perbos
    FROM towns;

    totgeomsum	bossum	perbos
    ----------	------	------
    1522 kB		30 kB	1.99

    SELECT ST_MemSize(ST_GeomFromText('CIRCULARSTRING(220268 150415,220227 150505,220227 150406)'));

    ---
    73

    --What percentage of our table is taken up by just the geometry
    SELECT pg_total_relation_size('public.neighborhoods') As fulltable_size, sum(ST_MemSize(geom)) As geomsize,
    sum(ST_MemSize(geom))*1.00/pg_total_relation_size('public.neighborhoods')*100 As pergeom
    FROM neighborhoods;
    fulltable_size geomsize  pergeom
    ------------------------------------------------
    262144         96238	 36.71188354492187500000

Prev | Up | Next
ST_M | Home | ST_NDims