【发布时间】:2019-06-26 03:21:31
【问题描述】:
我需要进行新安装,我需要从当前安装中复制我的数据库。我需要远程服务器到本地机器的 pg_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
【问题讨论】:
-
您需要以超级用户身份运行
pg_dumpall,例如pg_dumpall -U postgres .... -
我以超级用户身份运行 pg_dumpall,但它在终端中以文本格式转储了所有内容,但我需要在本地机器上以 sql 格式显示它。你能给出完整的命令吗?
-
pg_dumpall 创建一个 SQL 脚本(文本格式),你需要使用
> alldb.sql将它重定向到一个文件,或者像你一样使用-f ... -
pg_dumpall -h hostname -p 5432 -U postgres > databaseall5.sql 密码:pg_dumpall:无法连接到数据库“template1”:致命:用户“postgres”的密码验证失败致命:密码验证失败对于用户“postgres” $ pg_dumpall -h hostname -p 5432 -U postgres > databaseall5.sql 密码:pg_dumpall:无法连接到数据库“template1”:fe_sendauth:未提供密码
-
postgres@iitians:/home/network$ pg_dumpall -h 主机名 -p 5432 -U postgres -c -o -f "databaseall7.sql" 密码:pg_dumpall: 无法连接到数据库 "template1" :致命:用户“postgres”的密码验证失败 致命:用户“postgres”的密码验证失败
标签: postgresql pg-dump pg-dumpall