我想备份,然后恢复整个 postgres安装的内容,包括所有角色,所有数据库,所有内容。
在恢复期间,目标postgres安装应完全替换,以便其状态完全按照备份中的指定,无论目前在目标postgres上安装什么。
现有答案包括this和this,但这些答案都不符合我的要求,因为
pg_dump
,迫使我手动列出数据库。我不希望这样。我想要所有数据库。pg_dumpall
+ psql
,如果目标安装已经(某些部分)表格,则不起作用;典型的错误包括ERROR: role "myuser" cannot be dropped because some objects depend on it
,因此表不会被删除,因此导致数据的最终COPY
命令失败,例如ERROR: duplicate key value violates unique constraint
。如何在postgres安装中备份和恢复所有内容,每个命令都有一个命令?