Script Windows pour la migration d'un serveur PostgreSQL vers un autre
Ce script indique comment migrer des bases de données sur un
serveur PostgreSQL vers un autre serveur
PostgreSQL sans perdre de données et
sans perdre du temps.
Nous supposons que :
- L’adresse IP de de l’ancien serveur est 196.10.XX.XX
- L’adresse IP du nouveau serveur est 41.227.XX.XX
Etape 1 (Autorisation de connexion) :
Ajouter l’adresse IP (41.227.XX.XX) du nouveau serveur dans le fichier pg_hba.conf
de l’ancien serveur (pour autorisation de connexion)
Etape 2 (Exécution du script):
Exécutez ce script qui va s’occuper de collecter les noms
des bases de données puis les parcourir en générant leur Backup à partir de l’ancien serveur et les restaurées vers le nouveau serveur après création de la base de donnée
"C:\Program Files (x86)\pgAdmin III\1.18\psql.exe" --host=196.10.XX.XX --username=postgres -Atc "SELECT datname FROM pg_database WHERE datallowconn IS TRUE AND datname NOT IN('template0', 'template1','postgres') " > E:\Backup\databases.txtfor /f "tokens=*" %%a in (E:\Backup\databases.txt) do (
ECHO %%a"C:\Program Files (x86)\pgAdmin III\1.18\pg_dump.exe" --host=196.10.XX.XX -U postgres -O "%%a" > "E:\Backup\%%a.sql""C:\Program Files (x86)\pgAdmin III\1.18\psql.exe" --host=41.227.XX.XX --username=postgres -c "create database \"%%a\" with owner postgres encoding = 'UNICODE';""C:\Program Files (x86)\pgAdmin III\1.18\psql.exe" --host=41.227.XX.XX --username=postgres -c "ALTER DATABASE \"%%a\" SET search_path = schema;""C:\Program Files (x86)\pgAdmin III\1.18\psql.exe" --host=41.227.XX.XX --username=postgres -d "%%a" -f "E:\Backup\%%a.sql"
)

Comments