我是Postgres的新手,我有一个数据库主机(HOST1(,它有多个数据库实例,现在我已经配置了另一个主机(HOST2(。
我在HOST1上使用pg_dump
创建了一个转储文件,并在HOST2上运行了一个pg_restore
。我发现恢复无法在新主机HOST2中恢复具有所需GRANT的DB角色。
我是否需要使用pgdumpall
从HOST1捕获所有具有相关GRANTS/权限的DB角色,然后恢复到HOST2?
特别需要使用pg_dumpall -g
。这将只捕获全局数据(角色、表空间等(。它不会捕获GRANT
信息,即pg_dump
输出中的信息。遇到的问题是pg_restore
试图为数据库群集全局信息中不存在的ROLEs
授予GRANT
权限。