【发布时间】:2021-03-02 02:16:13
【问题描述】:
如何在 Heroku 中使用 pg_dumpall? Heroku 的默认“数据库备份”功能是pg_dump,只需单击一个按钮,其中不包括角色,所以我想做pg_dumpall ...我正在尝试pg_dumpall -h myherokuurl.compute-1.amazonaws.com -l mypassword -U myUser > dump.sql
我收到此错误:
pg_dumpall: error: query failed: ERROR: permission denied for table pg_authid
pg_dumpall: error: 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 WHERE rolname !~ '^pg_' ORDER BY 2
我的第一个想法是创建一个具有正确权限的新用户。所以,我使用heroku pg:psql DATABASE -a my-app-name 登录,然后尝试create user myUser with password 'mypassword',但得到错误ERROR: permission denied to create role
老实说,我不确定发生了什么,我只是在猜测。任何故障排除想法将不胜感激! (与此同时,我只是想了解更多关于 Postgres 的信息)
【问题讨论】:
-
如果您使用的是爱好/共享层,则不能使用 pg_dumpall,因为这会获取其他人的数据。如果您为专用服务器付费,那么您也在为支持付费,不是吗?
-
我在 Heroku Postgres 上的“爱好基础”:devcenter.heroku.com/articles/heroku-postgres-plans 它没有说明您引用的限制。有链接吗?
标签: database postgresql heroku heroku-postgres pg-dumpall