pg_dump examples ¶
Sauvegarde du schéma (–clean –if-exists –schema-only) ¶
pg_dump -U USER --clean --if-exists --schema-only --create -f /opt/USER/scripts/db.dump_schema_only.sql db_XXX
Sauvegarde des données (–clean –if-exists –schema-only) ¶
pg_dump -U USER --data-only --inserts --column-inserts -f /opt/USER/scripts/db.dump_data_only.sql db_XXX
Autre exemple ¶
#export postgre en local
pg_dump -U USER --format=custom db_XXX > /root/scripts/output_backup/db_XXX_$(date +%F).sql
pg_dump -U USER --format=custom db_USER > /root/scripts/output_backup/db_USER_$(date +%F).sql
#export mysql en local
mysqldump -u root db_id3_programs > /root/scripts/output_backup/db_id3_programs_$(date +%F).sql
#export pour le staging
pg_restore -h X.X.X.X -p AAAA -d db_XXX -U USER --if-exists -c /root/scripts/output_backup/db_XXX_$(date +%F).sql
pg_restore -h X.X.X.X -p AAAA -d db_USER -U USER --if-exists -c /root/scripts/output_backup/db_USER_$(date +%F).sql
#delete files older than 5 days
cd /root/scripts/output_backup/
find . -type f -mtime +5 -exec rm -f {} \;
cat /root/scripts/backup_db.bash ¶
Prérequis ¶
-
existence de la base db_intranet:
CREATE DATABASE db_intranet WITH TEMPLATE = template0 ENCODING = 'UTF8' LC_COLLATE = 'fr_FR.utf8' LC_CTYPE = 'fr_FR.utf8';
-
existence du role intranet:
CREATE ROLE intranet; ALTER ROLE intranet WITH SUPERUSER INHERIT NOCREATEROLE NOCREATEDB LOGIN NOREPLICATION NOBYPASSRLS; ALTER ROLE intranet WITH LOGIN PASSWORD 'password';
#!/bin/bash
#export postgre en local
pg_dump -U intranet --format=custom db_intranet > /root/scripts/output_backup/db_intranet_$(date +%F).sql
#export pour le staging
pg_restore -h x.y.z.t -p 5432 -U intranet -d db_intranet -c /root/scripts/output_backup/db_intranet_$(date +%F).sql
#delete files older than 5 days
cd /root/scripts/output_backup/
find . -type f -mtime +5 -exec rm -f {} \;