Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ivangabriele/2abaf0cdf82464ce5b2010f6e32ff63c to your computer and use it in GitHub Desktop.
Save ivangabriele/2abaf0cdf82464ce5b2010f6e32ff63c to your computer and use it in GitHub Desktop.
PostgreSQL

Backup

ssh [user]@[ip]
cd [server_project_path]
docker-compose exec -T db pg_dump -U [db_user] -Fc [db_name] -f /[file].dump
docker ps
docker cp [container_name]:/[file_name].dump ./
docker-compose exec -T db rm /[file].dump
exit
scp [user]@[ip]:[server_project_path]/[file_name].dump ./

Backup one schema

pg_dump -U [db_user] -d [db_name] -n [schema_name] --data-only --column-inserts -f /[file_name].sql [db_name]

Backup one table

pg_dump -U [db_user] -d [db_name] -t [table_name] --data-only --column-inserts -f /[file_name].sql [db_name]

Restore

scp [file_name].dump [user]@[ip]:[server_project_path]
ssh [user]@[ip]
cd [server_project_path]
docker-compose down -v
docker-compose up -d [db_service_name]
# Replace by any command creating the database schemas and tables:
yarn db:migrate
docker ps
docker cp [file_name].dump [container_name]:/
# Repeat that for each table in order:
docker-compose exec -T db pg_restore -U [db_user] -d [db_name] -n [schema_name] -t [table_name] --data-only /[file_name].dump
docker-compose exec -T db rm /[file].dump
exit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment