Name

ST_MemSize — Renvoie la quantité d'espace mémoire que prend une géométrie.

Synopsis

integer ST_MemSize(geometry geomA);

Description

Renvoie la quantité d'espace mémoire (en octets) que prend la géométrie.

Ceci complète les fonctions intégrées de PostgreSQL fonctions d'objet de base de données pg_column_size, pg_size_pretty, pg_relation_size, pg_total_relation_size.

[Note]

pg_relation_size qui donne la taille en octets d'une table peut renvoyer une taille en octets inférieure à ST_MemSize. Cela est dû au fait que pg_relation_size n'ajoute pas la contribution des tables toasted et que les grandes géométries sont stockées dans les tables TOAST.

pg_total_relation_size - comprend la table, les tables toasted et les index.

pg_column_size indique l'espace que prendrait une géométrie dans une colonne en tenant compte de la compression, et peut donc être inférieur à ST_MemSize.

Cette fonction prend en charge la 3D et ne supprime pas l'indice z.

Cette méthode prend en charge les types Circular String et Curve.

Cette fonction prend en charge les surfaces Polyhedral.

Cette fonction prend en charge les triangles et les réseaux irréguliers triangulés (TIN).

Modifié : 2.2.0 nom modifié en ST_MemSize pour respecter la convention de nommage.

Exemples

--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