Backup e Restore di un database PostgreSQL Sandro Fioravanti INFN-LNF



Documenti analoghi
GERARCHIE RICORSIVE - SQL SERVER 2008

MANUALE PARCELLA FACILE PLUS INDICE

PROCEDURE PER LA GESTIONE DEL SOFTWARE E DEI DATI. Installazione, Archiviazione e Ripristino dati per il software Iperthermo

SOMMARIO COSA SERVE... 2 PRIMA DI INIZIARE... 2 COME PROCEDERE LATO SERVER... 3 COME PROCEDERE LATO CLIENT... 3

MANUALE UTENTE Fiscali Free

Manuale per la configurazione di AziendaSoft in rete

Guida Software GestioneSpiaggia.it

Digital Persona Client/Server

FIRESHOP.NET. Utilizzare il FireSoft. Rev

HORIZON SQL MENU' FILE

HORIZON SQL CONFIGURAZIONE DI RETE

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Invio SMS. DM Board ICS Invio SMS

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Gestione delle Cartelle dei Messaggi di Posta Elettronica

Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica.

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

19. LA PROGRAMMAZIONE LATO SERVER

GUARINI PATRIMONIO CULTURALE VERSIONE MSDE/SQL SERVER MANUALE DI INSTALLAZIONE GUARINI PATRIMONIO CULTURALE VERSIONE MSDE/SQL SERVER

BACKUP APPLIANCE. User guide Rev 1.0

Studi di Settore. Nota Operativa 22/4/2013

IRSplit. Istruzioni d uso 07/10-01 PC

Z3 B1 Message Addon Invio Massivo Documenti via e Fax per SAP Business One

FRANCESCO MARINO - TELECOMUNICAZIONI

NetMonitor. Micro guida all uso per la versione di NetMonitor

PORTALE CLIENTI Manuale utente

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Fate doppio click sul file con nome postgresql-8.0.msi e impostate le varie voci come riportato nelle immagini seguenti:

Kroll Ontrack Servizi RDR Guida rapida

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

File Server Resource Manager (FSRM)

CERTIFICATI DIGITALI. Manuale Utente

ARCHIVIA PLUS VERSIONE SQL SERVER

Samsung Auto Backup FAQ

MANUALE INSTALLAZIONE E CONFIGURAZIONE

COSTER. Import/Export su SWC701. SwcImportExport

COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO e PARAMETRI2015

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

SharePoints è attualmente disponibile in Inglese, Italiano e Francese.

e/fiscali - Rel e/fiscali Installazione

Guida Tecnica. Come visionare da internet anche dietro un IP dinamico i dvr Brahms.

CONFIGURAZIONE E GESTIONE DEI DATABASE (rev. 1.1)

Schede ADI ADP ADEM Prestazioni aggiuntive MMG. - Manuale - Data Solution Provider s.r.l.

Come Installare SQL Server 2008 R2 Express Edition With Tools

Fattura Facile. In questo menù sono raggruppati, per tipologia, tutti i comandi che permettono di gestire la manutenzione degli archivi.

Guida al backup e aggiornamento del programma MIDAP

Access. P a r t e p r i m a

GestVetrine 1.1 versione novembre 2014

Argo Netbook. Off-line

Nuovo server E-Shop: Guida alla installazione di Microsoft SQL Server

FISH Sardegna ONLUS. Manuale Utente.

Manuale Servizio NEWSLETTER

Supporto On Line Allegato FAQ

1/15. Manuale d uso. Rev.1 del 18 Settembre 2013 Rev.2 del 24 Settembre 2013 Rev.3 del 9 Dicembre 2013

WINDOWS XP. Aprire la finestra che contiene tutte le connessioni di rete in uno dei seguenti modi:

Manuale Terminal Manager 2.0

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

HOTEL MANAGER NOTE DI FINE ANNO

Manuale per l utilizzo dell applicazione Client per il controllo remoto di apparecchiature da laboratorio

Backup e Aggiornamenti

ALL FOR SCAN Versione Twain Manuale Utente. Versione 2.0A00. Luccarelli Srl

Il foglio elettronico. Excel PARTE

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

Esercitazione sulle libpq - libreria C per PostgreSQL

Guida Rapida di Syncronize Backup

PROCEDURA DI CHIUSURA ANNO FISCALE 2006 CON E-SHOP

DINAMIC: gestione assistenza tecnica

Zeroshell: VPN Host-to-Lan. Il sistema operativo multifunzionale. creato da

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

TERMINALE. Creazione e gestione di una postazione terminale di Eureka

5.2 UTILIZZO DELL APPLICAZIONE

AXWIN6 QUICK INSTALL v.3.0

- & POSTGRESQL. Il presente documento comprende la procedura di prima installazione di Postgres (e altre nozioni di base).

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

Lorenzo Sarti Materiale didattico sarti

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

developed by Emanuele De Carlo

LCMobile Restaurant. Guida su come usare il software per palmare LCMobile Restaurant.

Le Proprietà della Barra delle applicazioni e Menu Start di Giovanni DI CECCA -

Manuale Utente MyFastPage

Mon Ami 3000 POS Collegamento a registratori di cassa in modalità stampante fiscale

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1

1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/ Lato client

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

Come si può vedere, la regola è stata fatta in modo da spostare tutti i messaggi di Spam nella cartella del cestino.

ARGO DOC Argo Software S.r.l. -

RICEZIONE AUTOMATICA DEI CERTIFICATI DI MALATTIA 1.1. MALATTIE GESTIONE IMPORT AUTOMATICO 1.2. ATTIVAZIONE DELLA RICEZIONE DEL FILE CON L INPS


Guida all amministrazione VPH Webmin/Virtualmin

Procedure di ripristino del sistema.

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

lo PERSONALIZZARE LA FINESTRA DI WORD 2000

2010 Ing. Punzenberger COPA-DATA Srl. Tutti i diritti riservati.

Sistema Gestionale FIPRO. Dott. Enea Belloni Ing. Andrea Montagnani

L amministratore di dominio

Sistema per scambi/cessioni di Gas al Punto di Scambio Virtuale

FPf per Windows 3.1. Guida all uso

Transcript:

SPARC-CS-12/001 20 Gennaio 2012 Backup e Restore di un database PostgreSQL Sandro Fioravanti INFN-LNF Abstract Vengono descritte le procedure di backup e restore dei dati memorizzati in un database di tipo PostgresSQL 8.1 e superiori, prendedo come esempio il database di SPARC. 1. Introduzione Ci sono 2 modi per fare il backup ed il restore dei dati di una database postgressql: si possono usare i semplici tool presenti sul pannello di controllo pgadmin III oppure scrivere comandi manuali. Prima di inviare un qualiasi comando, bisogna essere assolutamente sicuri di avere ben chiaro cosa si sta facendo, perché i comandi sono irreversibili, e possono durare delle ore, se non giorni. Chiudere il programma pgadmin non aiuta a fermare il processo. L'unico modo per fermare un processo avviato è quello di fermare il server con i comandi di stop/start o di restart. 2. Eseguire un backup (pg_dump) Il comando da eseguire per creare un file contenenti i dati del database è pg_dump pg_dump [connection-option...] [option...] [dbname] Questo comando estrae i dati dal database e li scrive su un file unico. Per come è pensato il database di SPARC, il backup è stato organizzato basandosi sull'importanza dei dati e sulla dimensione delle tabelle. Creare un file unico è sconsigliato, perché il ripristino di un file molto grande può richiedere anche dei giorni. Quindi è bene suddividere in più file i sottogruppi delle tabelle. Nel caso del db di SPARC, abbiamo 79 tabelle di vario genere. Ho suddiviso il backup in 3 blocchi principali (system, daq, extra system) e vari file singoli per ragioni di spazio, oltre a questo si è pensato di dividere per anno le tabelle di grandi dimensioni. Per i 3 blocchi principali, è indispensabile usare righe di comando, perché solo tramite riga di comando possiamo abilitare o escludere delle tabelle dal backup dello schema. Il primo file da creare, sparc_system_[data].backup, riguarda tutte le tabelle inerenti alla parte statica del sistema, e sono tutte quelle tabelle il cui nome termina con system.

2 La riga di comando da inviare è: pg_dump.exe -h 192.168.197.253 -p 5432 -U postgres -F c -D -v -f "C:\Users\sparc\Desktop\BackUp db\sparc_system_2012-01-25.backup" -t "\"sparc\".\"ampsystem\"" -t "\"sparc\".\"apssystem\"" -t "\"sparc\".\"bcmsystem\"" -t "\"sparc\".\"bpmsystem\"" -t "\"sparc\".\"camsystem\"" -t "\"sparc\".\"carsystem\"" -t "\"sparc\".\"chlsystem\"" -t "\"sparc\".\"chnsystem\"" -t "\"sparc\".\"corsystem\"" -t "\"sparc\".\"ddgsystem\"" -t "\"sparc\".\"facsystem\"" -t "\"sparc\".\"mg1system\"" -t "\"sparc\".\"modsystem\"" -t "\"sparc\".\"motsystem\"" -t "\"sparc\".\"pmcsystem\"" -t "\"sparc\".\"rdssystem\"" -t "\"sparc\".\"rfssystem\"" -t "\"sparc\".\"sdgsystem\"" -t "\"sparc\".\"sersystem\"" -t "\"sparc\".\"shtsystem\"" -t "\"sparc\".\"sipsystem\"" -t "\"sparc\".\"ssasystem\"" -t "\"sparc\".\"swtsystem\"" -t "\"sparc\".\"thzsystem\"" -t "\"sparc\".\"tmpsystem\"" -t "\"sparc\".\"trjsystem\"" -t "\"sparc\".\"undsystem\"" -t "\"sparc\".\"valsystem\"" -t "\"sparc\".\"vgasystem\"" sparc Questa riga di comando va scritta su terminale (dos o unix) da qualsiasi pc collegato in rete che può accedere al server. L'accesso al server viene stabilito con gli appositi comandi di connessione. Spiegazione riga di comando: pg_dump.exe Richiama l'eseguibile [connection-option...] -h host specifica il numero ip della macchina dove il server sta girando. -p port specifica la TCP port della macchina dove il server sta girando. -U username username per contattare il server [option...] -F format seleziona il formato di uscita del backup, ne esistono di tre tipi, nel nostro caso usiamo: c custom Formato Custom è un formato adatto per essere facilmente riutilizzato per il ripristino dati, inoltre è un formato altamente compresso. t Restituisce il backup in formato tar, utilizzabile dai sistemi Unix. p Restituisce il file in formato plain-text SQL script file (formato di default) è un formato leggibile da qualsiasi programma di testo, ma non essendo compresso occupa moltissimo spazio disco. -D with command Con -D inseriamo anche i comandi per la creazione delle varie tabelle. -v verbose restituisce sul terminale lo status del comando. -f file Percorso e nome del file che verrà creato, contenente il database. "C:\Users\SandoR\Desktop\BACKUP POSTGRESS\2011-05-16\sparc_system_2011-05-16.backup"

3 -t table con -t, possiamo selezionare le tabelle che vogliavo inserire nel backup. -t "\"sparc\".\"bpmsystem\"" \schema\.\ tabella\ [dbname] il nome del database, nel nostro caso sparc Lo stesso procedimento va applicato per tutte le altre tabelle. Il secondo file da creare, contiene tutti i dati che non si riferiscono alla parte statica delle classi SPARC ma che sono di vario uso nel sistema di controllo, che chiameremo sparc_extra-system_[data].backup pg_dump.exe -h 192.168.197.253 -p 5432 -U postgres -F c -D -v -f "C:\Users\sparc\Desktop\BackUp db\sparc_extra-system_2012-01-25.backup" -t "\"sparc\".\"cpu_world\"" -t "\"sparc\".\"rfsatsdyn\"" -t "\"sparc\".\"rfsatssta\"" -t "\"sparc\".\"rfsdemdyn\"" -t "\"sparc\".\"rfsdemsta\"" -t "\"sparc\".\"rfshcidyn\"" -t "\"sparc\".\"rfshcista\"" -t "\"sparc\".\"rfsklpdyn\"" -t "\"sparc\".\"rfsklpsta\"" -t "\"sparc\".\"rfsshsdyn\"" -t "\"sparc\".\"rfsshssta\"" -t "\"sparc\".\"class\"" -t "\"sparc\".\"command\"" -t "\"sparc\".\"command_log\"" -t "\"sparc\".\"conversion\"" -t "\"sparc\".\"menu_table\"" -t "\"sparc\".\"switch-porte-info\"" -t "\"sparc\".\"switchtraffico\"" -t "\"sparc\".\"switches\"" -t "\"sparc\".\"sys_flags\"" -t "\"sparc\".\"unimagdataset\"" -t "\"sparc\".\"error_log\"" sparc Il terzo file contiene tutte le tabelle di media dimensione che si riferiscono ai dati dinamici delle classi SPARC. pg_dump.exe -h 192.168.197.253 -p 5432 -U postgres -F c -D -v -f "C:\Users\sparc\Desktop\BackUp db\sparc_daq_small_2012-01-25.backup" -t "\"sparc\".\"ampdaq\"" -t "\"sparc\".\"bpmdaq\"" -t "\"sparc\".\"camdaq\"" -t "\"sparc\".\"cardaq\"" -t "\"sparc\".\"chldaq\"" -t "\"sparc\".\"ddgdaq\"" -t "\"sparc\".\"facdaq\"" -t "\"sparc\".\"mg1daq\"" -t "\"sparc\".\"motdaq\"" -t "\"sparc\".\"rdsdaq\"" -t "\"sparc\".\"serdaq\"" -t "\"sparc\".\"shtdaq\"" -t "\"sparc\".\"ssadaq\"" -t "\"sparc\".\"swtdaq\"" -t "\"sparc\".\"thzdaq\"" -t "\"sparc\".\"trjdaq\"" -t "\"sparc\".\"valdaq\"" sparc Le tabelle escluse dal blocco dei dati dinamici per causa di dimensione, sono: -t "\"sparc\".\"apsdaq\"" -t "\"sparc\".\"bcmdaq\"" -t "\"sparc\".\"chndaq\"" -t "\"sparc\".\"cordaq\"" -t "\"sparc\".\"moddaq\"" -t "\"sparc\".\"rfs1306daq\"" -t "\"sparc\".\"rfs1307daq\"" -t "\"sparc\".\"sipdaq\"" -t "\"sparc\".\"tmpdaq\"" -t "\"sparc\".\"vgadaq\"" il backup di queste tabelle è stato effettuato usando I tool di pgadmin.

4 Date le enormi dimensioni di queste tabelle (come ad esempio VGAdaq che è composta da 70 milioni di righe con un file di backup di 1.5Gb di spazio) sono state suddivise per anno, cancellando gli anni passati tranne quello che precede l'anno corrente (esempio, VGAdaq_2007, VGAdaq2008 ecc...). In questo modo abbiamo accesso molto più velocemente ai dati dell'anno corrente e se si necessita di consultare i vecchi dati si può accedere allo schema "sparc_backup" dove si trovano tutte le tabelle divise per anno. Il comando per inserire i dati di un determinato periodo da una tabella ad un'altra è: INSERT INTO sparc_backup."vgadaq_2009" SELECT * FROM sparc."vgadaq" WHERE tempo BETWEEN '2009-01-01 00:00' AND '2009-12-31 23:59' Alla fine del processo il terminale restituisce questo messaggio: L'interrogazione è stata eseguita con successo: 1035915 righe, 337206 ms tempo di esecuzione. 3. Procedura di backup usando pgadmin Cliccare con il tasto destro sullo schema o sulla tabella che vogliamo salvare e cliccare su Backup... Selezionare il percorso e il nome del file, spuntare il formato COMPRESS e la modalità INSERISCI COMANDI e MESSAGGI PROLISSI Usando pg Admin, si può solo fare il backup di un intero schema o di una singola tabella.

5 4. Eseguire un Restore (pg_restore) Il comando da eseguire per ripristinare un database è pg_restore pg_restore [connection-option...] [option...] [filename] La procedura di ripristino, è una procedura molto lenta, per file molto grandi può richiedere anche dei giorni. Come per il backup, si può eseguire questa procedura sia tramite terminale con comando testuale, che con i tool di pgadmin. Esempio di restore: pg_restore.exe -h localhost -p 5432 -U postgres -d sparc -v "C:\Users\sparc\Desktop\2011-05-18\sparc_turni_2011-05-18.backup" pg_restore: connecting to database for restore pg_restore: creating SCHEMA sparc_turni pg_restore: creating TABLE prenotazioni_turni pg_restore: creating TABLE sparc_turni pg_restore: creating TABLE turni_not pg_restore: restoring data for table "prenotazioni_turni" pg_restore: restoring data for table "sparc_turni" pg_restore: restoring data for table "turni_not" pg_restore: creating CONSTRAINT sparc_turni_pkey pg_restore: setting owner and privileges for SCHEMA sparc_turni pg_restore: setting owner and privileges for TABLE prenotazioni_turni pg_restore: setting owner and privileges for TABLE sparc_turni pg_restore: setting owner and privileges for TABLE turni_not pg_restore: setting owner and privileges for CONSTRAINT sparc_turni_pkey Il processo ha ritornato il codice di uscita 0. Spiegazione comando: [connection-option...] -h host specifica il numero ip della macchina dove il server sta girando. -p port specifica la TCP port della macchina dove il server sta girando. -U username username per contattare il server -d dbname nome del database al quale ci si vuole connettere [option...] -v verbose restituisce sul terminale lo status del comando. -c --clean Se la tabella già esiste, PostgreSQL non è in grado di riscriverla.

6 Quindi si deve aggiungere l'opzione -c che cancella la tabella prima di riscriverla. [filename] "C:\Users\sparc\Desktop\2011-05-18\sparc_turni_2011-05-18.backup" Indirizzo e nome del file backup dove risiede la nostra tabella. 5. Procedura per fare un restore con pgadmin Cliccare con il tasto destro sullo schema o sulla tabella che vogliamo ripristinare e cliccare su Ripristino... Selezionare il percorso e il nome del file, spuntare MESSAGGI PROLISSI per visualizzare I messaggi provenienti dal server e cliccare il tasto OK Se la tabella è già esistente, il server comunicherà un messaggio di errore di non avvenuta scrittura. Quindi è necessario cancellare prima la tabella da ripristinare e ripetere la procedura.

7 Bibliografia Manuali Online: pg_dump: http://www.postgresql.org/docs/8.1/static/app-pgdump.html http://www.bigbiz.com/cgi-bin/manpage?1+pg_dump pg_restore: http://www.postgresql.org/docs/current/static/app-pgrestore.html