Erst gestern hat sich einer unserer Kunden darüber beschwert, dass er Backups in einer 1C-Datenbank erstellt, die auf PostgreSQL läuft. Aufgrund der Tatsache, dass wir ihnen nur VPS und nichts weiter zur Verfügung stellen, wussten wir nicht, was in ihnen vorging. Doch wie sich herausstellte, wurden schon seit längerem keine Backups mehr geschrieben, weil sie auch keinen eigenen Admin haben und niemand dies überwacht. Wir schickten uns eine Anfrage, schauten uns an, was dort vor sich ging und stellten beim Versuch, eine Sicherungskopie zu erstellen, Folgendes fest:
FEHLER: ungültige Seite in Block 2196 der Relation base/349583/364737
Nach ganzen 15 Minuten stellte sich heraus, dass das einfache Drücken des „Okay“-Buttons nicht mehr funktioniert und es keine Standardlösung für das Wort „Komplett“ gibt. Es gibt auch keine vorgefertigten Skripte. Aus diesem Grund entschied ich, dass es notwendig sein würde, die gefundene Lösung für diejenigen zu veröffentlichen, die PostgreSQL unter Windows verwenden.
- Wir starten pgAdmin.
- Starten Sie das Abfragetool und:
- Den Pfad zur Datenbank, ich denke, niemand wird bezweifeln, bei welcher Datenbank das Problem aufgetreten ist, daher werden wir die Methode weglassen, den Namen der Datenbank nur zu kennen basis/349583
- Als nächstes, um Text einzufügen: WÄHLEN Sie pg_filenode_relation(0, 364737); – Als Ergebnis erhalten wir den Tabellennamen. Bei uns war es die Tabelle „_document143_vt2652“
- Jetzt müssen wir mit der Wiederherstellung beginnen: SETzero_damaged_pages = ein; VAKUUM VOLL _document144;
- Am Ende der Ausführung müssen Sie die gesamte Datenbank neu indizieren!
Übrigens
vor Telegrammkanal Ich gebe IT-Tipps für Unternehmensleiter, die ihnen dabei helfen, herauszufinden, wo Geld verloren geht, und wie sie Systemadministratoren überprüfen können.