AskHandle

AskHandle Blog

How to Restore a Postgres Dump in Docker

September 4, 2025Jessy Chan3 min read

How to Restore a Postgres Dump in Docker

Need to restore a Postgres dump within a Docker container? This article provides clear and simple steps to guide you through the process.

Setting the Stage

Docker allows you to package applications and dependencies into lightweight containers. Postgres is a widely used open-source relational database management system. Combining both creates a flexible environment for running Postgres databases in containers.

Step 1: Prepare Your Docker Environment

Ensure that Docker is installed on your system. If not, follow the official Docker installation guide for your operating system. Once Docker is operational, move on to the next step.

Step 2: Download the Postgres Docker Image

To restore a Postgres dump, you need a Postgres database running in a Docker container. Pull the official Postgres Docker image from Docker Hub. Run the following command in your terminal:

bash
1docker pull postgres

This command downloads the latest version of the Postgres image to your local machine.

Step 3: Create a Docker Volume

Create a Docker volume to persist data in your Postgres container. This ensures your data is not lost when the container is removed. Use the following command to create a volume:

bash
1docker volume create pgdata

Step 4: Run the Postgres Container

With the Postgres image and volume set up, you can now run the Postgres container. Replace YOUR_PASSWORD with a strong password of your choice. Run the following command:

bash
1docker run --name postgres-container -e POSTGRES_PASSWORD=YOUR_PASSWORD -d -v pgdata:/var/lib/postgresql/data postgres

This command creates and starts a new Postgres container with your specified password and volume.

Step 5: Restore the Postgres Dump

Now that the Postgres container is running, you can restore your Postgres dump file. Assuming your dump file is named backup.sql, use this command to restore the dump:

bash
1docker exec -i postgres-container psql -U postgres -d postgres < backup.sql

This command imports the dump file into the postgres database. Replace backup.sql with the actual name of your dump file.

Step 6: Verify the Data

To check if the data restoration was successful, connect to the Postgres database within the container. Run the following command:

bash
1docker exec -it postgres-container psql -U postgres

Inside the Postgres shell, run SQL queries to verify the restored data. For instance, list all tables in the postgres database:

sql
1\dt

Following these steps will help you restore a Postgres dump file within a Docker container. This setup ensures a convenient environment for running applications while Postgres manages data efficiently.