簡體   English   中英

如何使用 Heroku 運行 pg_dumpall?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM