Bobcares

Docker postgres pg_restore | Tutorial

by | Jul 19, 2022

Docker postgres pg_restore is now so simple with these steps.

Bobcares, as part of our Docker Hosting Support Service, responds to all inquiries, large or small.

Let’s take a closer look at restoring the data dump using pg_restore.

Docker postgres pg_restore

For Restoring Data Dump Using pg_restore, our Support team provides these simple steps:

1. Firstly, determine the name and id of the Docker container hosting the Postgres instance

Start Docker and enter the docker command:

$ docker ps

The command results in:

CONTAINER ID ... NAMES abc985ddffcf ... my_postgres_1

2. Then locate the volumes that are available in the Docker container

Now run the command:

docker inspect -f '{{ json .Mounts }}' | python -m json.tool

Then, examine the volume paths under the Destination key. The result will be:

$ docker inspect -f '{{ json .Mounts }}' abc985ddffcf | python -m json.tool

[

{

"Type": "volume",

"Name": "my_postgres_backup_local",

"Source": "/var/lib/docker/volumes/my_postgres_backup_local/_data",

"Destination": "/backups",

"Driver": "local",

"Mode": "rw",

"RW": true,

"Propagation": ""

},

{

"Type": "volume",

"Name": "my_postgres_data_local",

"Source": "/var/lib/docker/volumes/my_postgres_data_local/_data",

"Destination": "/var/lib/postgresql/data",

"Driver": "local",

"Mode": "rw",

"RW": true,

"Propagation": ""

}

]

Here /backups and /var/lib/postgresql/data is the volume path.

3. Now copy dump into one of the volumes

To continue Restoring Data Dump Using pg_restore, pick a volume and copy the dump in. Then run the command:

docker cp </path/to/dump/in/host> :

Here we select volume /backups. It gives the following result:

$ docker cp my_data.dump my_postgres_1:/backups

4. Finally, request the database owner to run the pg_restore command

Using the docker exec command, run the pg restore command. The generic forms of both commands are here:

For pg_restore:

pg_restore -U -d

For docker exec:

docker exec

This is optional if we know the DB owner. We can also find the owner by retrieving the list of databases and their owners. So we have to run the following command to continue with Restoring Data Dump Using pg_restore

psql -U postgres -lcommand. within the docker exec command.

docker exec my_postgres_1 psql -U postgres -l

Running this command gives the result:

List of databases

Name | Owner

--------------------+----------

some_database | postgres

Now we can run the command pg_restore:

docker exec my_postgres_1 pg_restore -U postgres -d some_database /backups/my_data.dump

Now we are all set to restore Postgres data dump in a Docker container using pg_restore.

[Looking for an answer to another question? We’re only a click away.]

Conclusion

To sum up, our Support team provides the details on Restoring Data Dump Using pg_restore which includes mainly 4 steps.

    1. Primarily, we determine the name and id of the Docker container hosting the Postgres instance.
    2. Then we locate the volumes that are available in the Docker container.
    3. After that copy dump into one of the volumes.
    4. At last, request the database owner to run the pg_restore command.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

GET STARTED

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.