Wie Postgres Auto Vacuum funktioniert
Das Autovacuum ist der Hintergrundprozess in Postgres und ist standardmäßig aktiviert. Sie können jedoch die Einstellungen von Autovacuum erhalten, indem Sie zum Navigieren zum Navigieren PostgreSQL.Conf Datei.
Wie bereits erwähnt, führt das Auto -Vakuum sowohl Staubsaugen als auch Analyse durch. Postgres -Analysen und Staubsaugen einer Tabelle basierend auf dem unten beschriebenen Schwellenwert:
Für die automatische Staubsaugung einer Tabelle wird die folgende Gleichung verwendet:
Autovacuum vakuumschwelle = autovacuum_vacuum_scale_factor * nein._of_tUples + autovacuum_vacuum_thresholdUm die automatische Analyseschwelle zu erhalten, erledigt die folgende Gleichung den Job:
Autovacuum analyze threshold = autovacuum_analyze_scale_factorDie in den oben genannten Abschnitten verwendeten Terminologien werden im kommenden Abschnitt beschrieben.
So konfigurieren Sie Postgres Auto Vacuum
Die Auto -Vakuum -Funktionalität von Postgres hängt von den Einstellungen und Optionen im PostgreSQL ab.Conf -Datei. Mithilfe der unten angegebenen Beschreibung können Sie die Parameter ändern, um die automatische Vakuumfunktionalität zu stimmen.
Die folgenden Parameter spielen die Schlüsselrolle bei der Definition der Richtlinien für Postgres autovacuum.
Um die Datei zu bearbeiten, können Sie sie in einem Nano -Editor öffnen, indem Sie den unten angegebenen Befehl verwenden (der Speicherort von postgreSQL.Die Conf -Datei kann in Ihrem Fall variieren):
$ sudo nano/etc/postgresql/12/main/postgresql.ConfSo konfigurieren Sie automatische Vakuumparameter für eine Tabelle
Der PostgreSQL.Conf Die Datei befasst sich mit den globalen Änderungen an den Autovacuum -Parametern. Sie können jedoch Parameter für eine einzelne Tabelle einstellen. Zum Beispiel haben wir die folgenden Parameter für die verwendet LinuxHint Tabelle der Datenbank mydb:
Diese Parameter werden mit einer Änderungstabelle Anweisung von PowerShell übergeben und die Änderungstabelle wird in der LinuxHint -Tabelle wie unten gezeigt angewendet:
> TABLE LINUXHINT SET (autovacuum_vacuum_scale_factor = 0.2, autovacuum_vacuum_threshold = 30, autovacuum_analyze_scale_factor = 0.2, autovacuum_Analyze_threshold = 20);Es kann manuell berechnet werden, indem die Werte in die im obigen Abschnitt angegebenen Gleichungen eingefügt werden und wie folgt ist. Angenommen, die LinuxHint -Tabelle enthält 10 Tupel:
Der Vakuumbetrieb von Autovacuum wird wie unten gezeigt berechnet. Der Ausgang zeigt, dass der Vakuumbetrieb von Autovacuum durchgeführt wird, wenn die Anzahl der veralteten Datensätze 31 erreicht.
Autovakuum -Vakuumschwelle der LinuxHint -Tabelle = (0.2 * 5) + 30 = 31In ähnlicher Weise wird der Analyse -Betrieb von Autovacuum in der LinuxHint -Tabelle durchgeführt, wenn die Anzahl der Insertionen/Löschungen/Aktualisierungen 21 entspricht oder 21 überschreitet.
Autovacuum -Analyse der LinuxHint -Tabelle = (0.2*5) + 20 = 21Warum Auto -Vakuum
Wenn Sie sich die Arbeit und die oben genannte Diskussion ansehen, können die folgenden Vorteile von Auto Vacuum extrahiert werden:
Abschluss
Mit der Auto -Vakuum -Funktionalität von Postgres können Sie das Vakuum durchführen und die Tabellen einer Datenbank analysieren. Obwohl man manuell vakuumieren und analysieren kann, wird das automatisierte Vakuum beides tun. Dieser Artikel enthält detaillierte Informationen zur Auto -Vakuum -Funktionalität von Postgres. Postgres berechnet die Schwellenwerte für jede Tabelle und entscheidet dann, ob diese Tabelle vakuumiert oder analysiert werden soll. Darüber hinaus haben wir Postgres -Gleichungen zur Berechnung des Impfstoffs und der Analyse des Schwellenwerts zur Verfügung gestellt.