Proprio ieri, uno dei nostri clienti si è lamentato del fatto che stava eseguendo backup in un database 1C basato su PostgreSQL. Dato che forniamo loro solo VPS e nient'altro, non sapevamo cosa stesse succedendo al loro interno. E come si è scoperto, i backup non sono stati scritti per molto tempo, perché anche loro non hanno il proprio amministratore e nessuno lo sta guardando.
Ci hanno inviato un appello, hanno guardato cosa stava succedendo lì e hanno visto quanto segue quando hanno provato a fare una copia di backup:
ERRORE: pagina non valida nel blocco 2196 della relazione base/349583/364737
Dopo aver trascorso fino a 15 minuti, si è scoperto che non è così facile prendere e premere il pulsante "Buono", e non esiste una soluzione regolare dalla parola "Assolutamente". Non ci sono nemmeno script già pronti. Di conseguenza, avendo deciso che sarebbe stato necessario pubblicare la soluzione trovata per coloro che utilizzano PostgreSQL su Windows.
- Avviamo pgAdmin.
- Avvia il Query Tool e:
- Il percorso del database, penso che nessuno dubiterà con quale database si è verificato il problema, quindi ometteremo il metodo per trovare il nome del database conoscendo solo base/349583
- Successivamente, per inserire il testo:
SELEZIONA pg_filenode_relation(0, 364737); - di conseguenza, otteniamo il nome della tabella. Avevamo una tabella "_document143_vt2652" - Ora dobbiamo iniziare il suo recupero:
SET zero_damaged_pages = attivo;
VUOTO PIENO _document144;
- Al termine dell'esecuzione, è necessario reindicizzare l'intero database!
Va notato che alcuni dati potrebbero essere persi dalla tabella!