找到一個臨時的解決了這個問題。
根據psql的手冊頁:
-W, --password
Force psql to prompt for a password before connecting to a database.
This option is never essential, since psql will automatically prompt for a
password if the server demands password authentication. However, psql will
waste a connection attempt finding out that the server wants a password.
In some cases it is worth typing -W to avoid the extra connection attempt.
因此,通過PSQL連接到Postgres數據庫連接時需要密碼永遠不會提示輸入緩衝區的一個密碼。
臨時解決方案可能會在psql調用中設置-w
選項來不要求輸入密碼。然後,它從~/.pgpass
文件獲取密碼。此文件具有0600權限,因此它是不安全的。但現在適合我。
在.emacs
文件:
(custom-set-variables
'(sql-postgres-options (quote ("-P" "pager=off" "-w"))))
更好的解決方案可能會使用SSL證書,我將探討。
謝謝大家的幫助。
我正在使用Emacs 24.3.1。我不能使用第二個解決方案,因爲sql-postgres會提示它。第三個不起作用。謝謝。 – quimm2003
我想重現這個問題,我無法設置PostgreSQL數據庫,但是我可以在'(SQLi [Postgres])模式下進入'* SQL *'緩衝區。有「隱形」的作品適合我。您是否在嘗試使用該命令? : -/ – makeMonday
我無法從'sql-postgres'獲得緩衝區而不立即提示寫入登錄參數,因此我無法使用'send-invisible' ... – quimm2003