Migrazione dati da PostgreSql 8.3 a 9.3

Per motivi di lavoro spesso ci si trova a cambiare il proprio pc e magari non si vorrebbero perdere i dati quando si effettua tale cambio. Anche se si disponesse dei vari comandi che servono per ricreare i database , magari si vorrebbero mantenere i dati in esso contenuti e vorremmo migrare il tutto nella maniera più rapida possibile.

Fino a quando si mantiene la stessa versione di Postgres , poratare i dati dal vecchio al nuovo pc è veramente molto semplice , si tratta solo di copiare la vecchia cartella “data” nella nostra nuova installazione Postgres (consiglio sempre di effettuare un backup della cartella prima di sostituirla).

Tuttavia, come nel mio caso, ci possiamo trovare di fronte all’impossibilità di poter reinstallare la stessa versione di database. Se  l’installazione Postgres che effettuiamo ha una versione diversa rispetto la provenienza dei nostri dati, allora non possiamo procedere  come sopra, perché la cartella “data” non è compatibile in termini di cross version, ma se disponiamo ancora della versione funzionante sul nostro vecchio pc , abbiamo ancora una possibilità di poter effettuare una rapida migrazione.

Si tratta semplicemente di procedere come segue :

1) Sul nostro vecchio PC aprire pgAdmin

2) Collegarsi al server Postgres

3) Menu->Tools->backup server

4) Specificare un nome per il nostro backup e procedere. Verrà generato un file di testo piatto con tutti i comandi sql postgres per ricreare tabelle/ruoli e dati. In realtà la stessa operazione può tranquillamente essere effettuata anche eseguendo i seguenti comandi

pg_dumpall > backup

oppure

pg_dump -U USERNAME DBNAME > dbexport.sql

potrebbe essere richiesta la password per l’accesso al vostro database

5) Portiamo il file creato nel nostro pc dove gira la nuova versione di POsgress

6) Assicuriamoci che il database sia up&running

7) Accediamo alla cartella che contiene i comandi posgres , ad esempio :

C:\Program Files\PostgreSQL\9.3\bin\

8) Eseguiamo il seguente comado :

psql -f dbexport.sql postgres

oppure

psql –username postgres –file dbexport.sql

Vi verrà richiesta l’inserimento della password che è quella che avete utilizzato in fase di installazione del vostro Postgres

9) Startate il vostro PgAdmin e verificate che tutto sia andato bene.

Se durante la fase di restore dei dati, tramite da linea di comandi (punto 8) , dovesse spuntare un messaggio di errore del tipo

Oppure

Allora basta eseguire il comando prima di eseguire il punto 8:

chcp 1252

probabilmente dovuto al fatto che la console di window utilizza un encoding differente  che potrebbe dare fastidio ad eventuali caratteri speciali che potrebbero trovarsi dentro il nostro file di backup psql.

 

https://www.postgresql.org/download/windows/

http://databasemaster.it/installare-postgresql-su-windows/

http://www.postgresqltutorial.com/install-postgresql/

https://www.postgresql.org/docs/8.3/migration.html