This question already has an answer here:
I've been trying to figure out how I can completely backup my PostgreSQL database. I have not seen any resource that explains how to do a complete backup.
I am aware of the pg_dump and pg_dumpall utilities. The syntax is simple, but the details are not very clear.
It appears that pg_dump only backs "some" tables for a particular db and none of any type of configuration info. I am guessing that things like permissions and many other things are not backed up. So in the event of a total re-install of a PostgreSQL db, the dump backup would not work without significant manual configuration and setup.
pg_dumpall backs-up some more things than pg_dump but again no clear info is provided in the Postgres docs about what else is left out from the backup dump and needs to be backed-up in addition to.
I need to back up all PostgreSQL configuration info, tables, indexes, permissions, schemes, etc. In the event of a complete catastrophe, provided that I reinstall the same version of PostgreSQL I should not have to reconfigure anything.
I don't care for example if the indexes are re-built from scratch of if the backup already stores the indexes... stuff like this doesn't matter to me... I just want the db to be in the exact same state after the restore as it was at time of backup.
I'd appreciate if someone could list the things needed to be backed-up in order to achieve a complete backup. Of course, I'd appreciate if you would recommend some tools along with some procedure for the various things on the list. Please explain which items on the grand list the tool & procedure you recommend covers.