簡體   English   中英

pg_dump 輸出文件的“權限被拒絕”

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

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