DB:9.0的Postgres客戶 :Windows 7的 服務器的Windows 2008,64位Postgres的pgpass窗口 - 不工作
我試圖遠程連接到一個Postgres實例執行pg_dump的到我的本地機器的目的。
除了我需要在密碼提示處提供密碼之外,所有的東西都可以在我的客戶端機器上運行,而且我最終希望用腳本批處理。
我在這裏跟着指示:
http://www.postgresql.org/docs/current/static/libpq-pgpass.html
,但它不工作。
回顧一下,我在服務器上創建了一個文件:C:/Users/postgres/AppData/postgresql/pgpass.conf
,其中postgresql是db用戶。
該文件具有與以下數據的一個行:
\*:5432:\*postgres:[mypassword]
我也試着分別[localhost|myip]
和[mydatabasename]
代替每個*
。
從我的客戶端機器,我連接使用:
pg_dump -h <myip> -U postgres -w [mydbname] > [mylocaldumpfile]
我假定我需要爲了提供-w
開關忽略提示輸入密碼,此時它應該在AppData目錄上服務器。
它只是回來了:
連接數據庫失敗:fe_sendauth:沒有提供的密碼。
任何見解都值得讚賞。
作爲一種黑客解決方法,如果有辦法我可以告訴我的客戶端機器上的Windows批處理文件在postgres提示符下注入密碼,那也可以。
感謝。
'-h'是供主機連接的,你的是空的。 'pgpass'文件中的前四個字段應該是文字值或*,你是一個混合。 'pgpass'文件應該駐留在發出'pg_dump'命令的用戶'AppData'文件夾中的客戶端機器上 - 你的服務器上。 – 2010-12-17 15:59:15
空-h是一個錯字。我嘗試了所有'*',沒有'*'和兩者之間的所有組合。我也嘗試了一個本地的AppData文件,但同樣的問題。 – Scott 2010-12-17 17:16:55
.pgpass文件的權限是什麼?它們只需要用戶可讀。 – 2010-12-17 21:17:18