ST_MemSize — Gibt den Geometrietyp des ST_Geometry Wertes zurück.
integer ST_MemSize(geometry geomA);
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.
|
|
|
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.
Compare the memory used by all geometries in a Massachusetts town dataset with the subset for Boston.
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) * 100.0
/ sum(ST_MemSize(geom)) AS numeric(10, 2)
) AS perbos
FROM towns;
totgeomsum | bossum | perbos ------------+--------+-------- 1522 kB | 30 kB | 1.99 (1 row)
Return the memory size of a CircularString in bytes.
SELECT ST_MemSize('CIRCULARSTRING(220268 150415,220227 150505,220227 150406)'::geometry);
st_memsize
------------
80
(1 row)
Calculate the percentage of a table's total size used by geometry data.
SELECT pg_total_relation_size('public.neighborhoods') AS fulltable_size,
sum(ST_MemSize(geom)) AS geomsize,
sum(ST_MemSize(geom)) * 100.0
/ pg_total_relation_size('public.neighborhoods') AS pergeom
FROM neighborhoods;
fulltable_size | geomsize | pergeom
----------------+----------+--------------------------
262144 | 96238 | 36.71188354492187500000
(1 row)