Recovering a complete tablespace is also required sometimes. It's actually a lot easier than recovering a single table.
The methods differ, depending on the type of backup you have available. If you have multiple types of backup, you have a choice.
If you've taken a logical backup using pg_dump
in a custom file, then you can simply extract the tables you want from the dumpfile, like the following:
pg_restore -t mytab1 -t mytab2 … dumpfile | psql
Alternatively, you can directly connect to the database using –d
.
Of course, you may have difficulty remembering exactly which tables were there. So, you may need to proceed like this:
Find a suitable server, or create a new virtual server.
Reload the dump in full, using four parallel tasks, as follows:
pg_restore -d mydatabase -j 4 dumpfile
Once the restore is complete, you can dump the tables in the tablespace by following the Hot logical backup...