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.
-
- Primarily, we determine the name and id of the Docker container hosting the Postgres instance.
- Then we locate the volumes that are available in the Docker container.
- After that copy dump into one of the volumes.
- 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.
0 Comments