Name

ST_MemSize — Gibt den Geometrietyp des ST_Geometry Wertes zurück.

Synopsis

integer ST_MemSize(geometry geomA);

Beschreibung

Gibt den Geometrietyp des ST_Geometry Wertes zurück.

Dies ergänzt die in PostgreSQL eingebauten Datenbankobjektfunktionen pg_column_size, pg_size_pretty, pg_relation_size, pg_total_relation_size.

[Note]

pg_relation_size, das die Bytegröße einer Tabelle angibt, kann eine geringere Bytegröße als ST_MemSize zurückgeben. Der Grund dafür ist, dass pg_relation_size den Beitrag von TOAST-Tabellen nicht berücksichtigt und große Geometrien in TOAST-Tabellen gespeichert werden.

pg_total_relation_size - schließt die Tabelle, die TOAST-Tabellen und di Indizes mit ein.

pg_column_size gibt zurück, wie viel Platz eine Geometrie in einer Spalte unter Berücksichtigung der Komprimierung einnehmen würde, kann also niedriger sein als ST_MemSize

Diese Funktion unterstützt 3d und lässt den Z-Index nicht fallen.

Diese Methode unterstützt kreisförmige Strings und Kurven.

Diese Funktion unterstützt polyedrische Flächen.

Diese Funktion unterstützt Dreiecke und dreieckige unregelmäßige Netzoberflächen (TIN).

Geändert: 2.2.0 Name geändert in ST_MemSize, um der Namenskonvention zu folgen.

Beispiele

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