PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Textkomprimierung in PostgreSQL

Die Komprimierung ist standardmäßig für alle Zeichenfolgentypen aktiviert, Sie müssen die Datenbank nicht anweisen, dies zu tun. Überprüfen Sie das Handbuch zu TOAST

  • PLAIN verhindert entweder Komprimierung oder Out-of-Line-Speicherung; außerdem deaktiviert es die Verwendung von Einzelbyte-Headern für Varlena-Typen. Dies ist die einzig mögliche Strategie für Spalten von nicht TOAST-fähigen Datentypen.
  • EXTENDED ermöglicht sowohl Komprimierung als auch Out-of-Line-Speicherung. Dies ist die Standardeinstellung für die meisten TOAST-fähigen Datentypen. Zuerst wird eine Komprimierung versucht, dann eine Out-of-Line-Speicherung, wenn die Zeile immer noch zu groß ist.
  • EXTERNAL ermöglicht Out-of-Line-Speicherung, aber keine Komprimierung. Die Verwendung von EXTERNAL beschleunigt Teilstring-Operationen auf breiten Text- und Bytea-Spalten (auf Kosten von erhöhtem Speicherplatz), da diese Operationen so optimiert sind, dass sie nur die erforderlichen Teile des Out-of-Line-Werts abrufen, wenn er nicht komprimiert ist.
  • MAIN ermöglicht Komprimierung, aber keine Out-of-Line-Speicherung. (Eigentlich wird für solche Spalten immer noch außerhalb der Zeile gespeichert, aber nur als letzter Ausweg, wenn es keine andere Möglichkeit gibt, die Zeile so klein zu machen, dass sie auf eine Seite passt.)