[英]ERROR: permission denied for relation after Heroku pg_dump and import to development database
[英]“permission denied” for pg_dump output file
我用下面的命令來備份我的數據庫
sudo -u user_name pg_dump dbName -f /home ..../someWhere/db.sql
但它給了我這個:
pg_dump: [archiver] could not open output file "/home ..../someWhere/db.sql": Permission denied
谷歌搜索這個問題后,我發現我必須在/tmp
路徑下備份我的數據,但不起作用
我該如何解決這個問題?
提前致謝,
我正在使用 Ubuntu 12.04 lts
看起來您的 pg_dump 工作正常,但是以 sudo 用戶身份打開輸出文件時遇到問題。 只是猜測,但是,如果您以用戶(可能是運行 pg_dump 命令的用戶)身份進行重定向,則應該這樣做,即:
sudo -u user_name pg_dump dbName > /home ..../someWhere/db.sql
使用這種技術,您的 pg_dump 將作為 postgres 用戶運行(假設這是 user_name 是誰),並且寫入 /home... 的文件將使用運行命令的用戶的權限寫入(此用戶可能具有不同的權限) postgres 用戶)。
從psql command-line
嘗試pg_dump
如下:
postgres=# \! pg_dump dbName -f /home ..../someWhere/db.sql
從 psql 命令行執行,如下所示
-bash-4.1$ pg_dump -Fp dbName -f /home ..../someWhere/db.sql &
-F選擇輸出的格式,其中p是輸出一個純文本的 SQL 腳本文件
和&最后將在后台運行您的備份。
以防萬一其他人像我一樣登陸這里,請注意,如果文件夾不存在, pg_dump
也會顯示此錯誤。 在這種情況下,只需使用mkdir -p folder_name
預先創建目錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.