2010-12-05 50 views
1

我不確定它的權限問題或我做錯了什麼,任何幫助將不勝感激。 我有一臺專用的Ubuntu服務器,安裝有Postgres數據庫。我想備份數據庫,但是當我使用pg_dump時,我得到權限被拒絕。有人可以幫我嗎? 以下是關於我的設置的一些細節。如何使用pg_dump/pg_dumpall和postgres DB?

關於postgres:我有以下數據庫。

postgres, 
template0, 
template1, 
mydb, 
mydb1 

我有2個PostgreSQL的用戶

postgres, 
mydb (There are no postgresql groups defined yet) 

所有Postgres的其他設置爲默認值。

在我的ubuntu本身,我有2個用戶。

user1, 
mydb 

我登錄到框,使用SSH根/ USER1,發出以下命令,

$ pg_dumpall > a.sql 

我得到的,-bash:a.sql:權限被拒絕 上也是如此pg_dump的命令。

我知道我在這裏錯過了一些東西。有人能指導我正確地發出這個命令嗎? TIA。

+0

這實際上是一個管理問題,而不是編程。投票轉移到serverfault.com。 – sleske 2010-12-05 21:17:28

回答

3

我得到,-bash:a.sql:權限被拒絕 與pg_dump命令一樣。

這看起來更像是文件權限問題。操作系統用戶是否有權寫入轉儲文件?檢查文件/目錄權限。

1

當您運行命令

pg_dumpall > a.sql 

那麼你的shell將嘗試在當前目錄創建文件a.sql。如果您(如「user1」)沒有權限在當前目錄中創建文件,請先使用cd命令更改爲您擁有權限的目錄。您可以使用pwd命令查看當前目錄的實際內容。