[英]How can I run pg_dumpall with Heroku?
如何在 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_authid
目錄有關,您應該能夠使用帶有--no-role-passwords
選項的pg_dumpall
最新版本。
這通常適用於pg_authid
托管環境,例如在 AWS 上。 唯一的缺點是 Postgres 用戶的密碼將從轉儲中丟失。
但是,您的環境似乎更加有限,可能是共享環境,您甚至無法在其中創建新的 Postgres 用戶。 我不確定是否有機會讓pg_dumpall
在那里工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.