如何从远程服务器 pg_dumpall 到本地机器以及本地机器到远程服务器

问题描述 投票:0回答:2

我需要进行新安装,为此我需要从当前安装复制数据库。我需要 pg_dumpall 命令将远程服务器传输到本地计算机。

我已经尝试过这个,但它仅适用于 dump,不适用于 dumpall

pg_dump -h hostname -Fc -o -U username database > databaseall.sql

pg_dumpall -h hostname -p 5432 -U username > databaseall.sql

出现错误

pg_dumpall: query failed: ERROR:  permission denied for relation pg_authid
pg_dumpall: query was: SELECT oid, rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolconnlimit, rolpassword, rolvaliduntil, rolreplication, rolbypassrls, pg_catalog.shobj_description(oid, 'pg_authid') as rolcomment, rolname = current_user AS is_current_user FROM pg_authid ORDER BY 2

pg_dumpall -h hostname -p 5432 -U username -c -o -f "databaseall.sql"

出现错误

pg_dumpall: query failed: ERROR:  permission denied for relation pg_authid
pg_dumpall: query was: SELECT rolname FROM pg_authid ORDER BY 1
postgresql pg-dump pg-dumpall
2个回答
0
投票

使用 pg_dumpall/psql 命令转储和恢复

pg_dumpall > alldb.sql

在其他实例中加载

psql -f alldb.sql postgres

0
投票

--no-role-passwords 参数将避免访问问题中的对象

© www.soinside.com 2019 - 2024. All rights reserved.