簡體   English   中英

在Windows上的emacs中運行Mx sql-postgres

[英]Running M-x sql-postgres in emacs on windows

當我嘗試在Windows上的emacs中運行劣質psql進程時,我似乎沒有得到任何響應。 這似乎是一個已知的問題,其解決方案是安裝psql的cygwin版本。 不幸的是,cygwin psql似乎絕對沒有做任何事,即使psql -V什么都不做。 有沒有人有這些問題的解決方案或從emacs發送查詢到postgresql的簡單方法。

這可能不是一個好的答案,但我目前不在使用Emacs或PostGres的Windows機器上,所以我無法為您找到更好的解決方案。

那就是說,你能在命令shell中運行psql嗎? 如果是這樣,也許你可以試着殼( Mx shell )或ESHELLMx eshell )開始的下殼和運行psql從那里。

我本來打算建議你調用Mx shell-command (也是M-! ),然后為你的命令指定psql & &讓Emacs知道你想要異步運行shell命令。 然而, 該條目在EmacsWiki表明,它不會在Windows上運行。 無論如何你可以試試看看會發生什么......

好吧,我終於想出了如何讓cygwin psql運行。 似乎提供的cygpq.dll缺少一些入口點,

strace -o /dev/null psql --version

響應“程序入口點PQencryptPassword無法位於動態鏈接庫cygpq.dll中。”

我用本地編譯的cygpq.dll替換了cygwin提供的cygpq.dll,看來我們現在正在用煤氣做飯。 我需要了解有關cygwin動態鏈接的更多信息。 我感謝你們所有人的耐心支持。

我有類似的問題(但無法使cygwin psql工作)。

最后,我發現Mx shell中的Mx sql-postgres和psql調用實際上都是交互式的,但是沒有可見的提示; 即,可以鍵入命令(在最后一行的最開頭)並按預期執行。

在我意識到我已經修改了我的postgres密碼文件以避免密碼提示和Mx shell中psql調用的初始掛起之前:

當默認值不太正確時,您可以通過將環境變量PGDATABASE,PGHOST,PGPORT和/或PGUSER設置為適當的值來節省一些輸入。 (有關其他環境變量,請參閱文檔。)使用〜/ .pgpass文件也很方便,以避免經常輸入密碼。 有關更多信息,請參閱文檔。 http://linux.die.net/man/1/psql

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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