Was bedeuten n_live_tup und n_dead_tup in pg_stat_user_tables?


20

Was ist die Bedeutung von n_live_tupund n_dead_tupin pg_stat_user_tablesoder pgstattuple?

Antworten:


28

Diese beiden Spalten sind das Ergebnis von

SELECT pg_stat_get_live_tuples(c.oid) AS n_live_tup
     , pg_stat_get_dead_tuples(c.oid) AS n_dead_tup
FROM   pg_class c;

Darstellung der Anzahl der lebenden und toten Zeilen (Tupel) in der Tabelle.
Finden Sie diese Funktionen im Handbuch .

Tote Zeilen sind gelöschte Zeilen, die später für neue Zeilen aus INSERTs oder UPDATEs wiederverwendet werden (das Leerzeichen, nicht die Daten). Einige tote Zeilen (oder reservierter freier Speicherplatz) können besonders nützlich sein für HOT-Updates (Nur-Heap-Tupel), die Speicherplatz auf derselben Datenseite effizient wiederverwenden können. Mehr zu HOT:

Oder tote Zeilen können durch VACUUM FULL(oder einfach, VACUUMwenn es Glück hat) oder ähnliche Operationen auf dem Tisch entfernt werden, wodurch der physische Tisch entsprechend verkleinert wird.

Jedes Mal, wenn eine Zeile gelöscht oder aktualisiert wird, wird die alte Zeilenversion für alle anderen Transaktionen unsichtbar, die nach dem Festschreiben der Transaktion beginnen. Die Zeile ist vollständig ungültig, sobald keine nicht festgeschriebenen älteren Transaktionen mehr vorhanden sind. Dies ist erforderlich, damit das MVCC-Modell von PostgreSQL die Parallelität verarbeiten kann.

Das sind nur Statistiken . Sie müssen die Statistikerfassung aktivieren, postgresql.confwenn Sie möchten, dass sie automatisch aktualisiert werden. track_countssollte jedoch standardmäßig aktiviert sein. Beachten Sie, dass die Statistiken nicht sofort aktualisiert werden. Lesen Sie mehr dazu im Handbuch .


Was sind Nur-Haufen-Tupel? Wann stelle ich aus SELECT n_live_tup FROM pg_stat_user_tables WHEN relname = 'mytable';Warum zeigt es Null? mytablehat 6 Reihen.
Majid Azimi

@MajidAzimi: Ich habe ein bisschen zu meiner Antwort hinzugefügt.
Erwin Brandstetter

5
@MajidAzimi Wenn Sie mehr über MVCC und HoT erfahren möchten, schauen Sie sich die Folien von Pavan Deolasees Präsentation auf der PGCon'08
dbenhur am

@dbenhur: Netter Link! Die Präsentation ist sehr gut gemacht und leicht zu verstehen.
Erwin Brandstetter

@dbenhur Der Link scheint jetzt tot zu sein.
Aryeh Leib Taurog
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.