Handling global data
In the previous sections, we learned about pg_dump
and pg_restore
, which are two vital programs when it comes to creating backups. The thing is, pg_dump
creates database dumps—it works at the database level. If we want to back up an entire instance, we have to use pg_dumpall
or dump all of the databases separately. Before we dig into that, it makes sense to see how pg_dumpall
works:
pg_dumpall > /tmp/all.sql
pg_dumpall
will connect to one database after the other and send stuff to stdout
, where you can process it with Unix. Note that pg_dumpall
can be used just like pg_dump
. However, it has some downsides. It does not support a custom or directory format, and therefore does not offer multi-core support. This means that we will be stuck with one thread.
However, there is more to pg_dumpall
. Keep in mind that users live at the instance level. If you create a normal database dump, you will get all of the permissions, but you won’t get all...