Actions
Backup Postgresql Database from Docker¶
Backup specified database¶
CID=$(docker ps -f name=<container_name> -q)
DBN=db
docker exec -t ${CID} pg_dump -c -U postgres ${DBN} > dump_${DBN}_`date +%Y-%m-%d"_"%H_%M_%S`.sql
Backup all¶
CID=$(docker ps -f name=<container_name> -q)
docker exec -t ${CID} pg_dumpall -c -U postgres > dump_`date +%Y-%m-%d"_"%H_%M_%S`.sql
Creates filename like dump_2023-12-25_09_15_26.sql
If you want a smaller file size, use gzip:
docker exec -t your-db-container pg_dumpall -c -U postgres | gzip > dump_`date +%Y-%m-%d"_"%H_%M_%S`.sql.gz
If you want even smaller file sizes use brotli or bzip2:
docker exec -t your-db-container pg_dumpall -c -U postgres | brotli --best > dump_`date +%Y-%m-%d"_"%H_%M_%S`.sql.br
or
docker exec -t your-db-container pg_dumpall -c -U postgres | bzip2 --best > dump_`date +%Y-%m-%d"_"%H_%M_%S`.sql.bz2
Restore your databases¶
cat your_dump.sql | docker exec -i your-db-container psql -U postgres
Updated by Viacheslav Anzhiganov about 2 months ago · 4 revisions