Opening PostgreSQL in Cygwin and MINTTY

懵懂的女人 提交于 2019-12-01 22:37:20

问题


I can't seem to open the interactive mode of PSQL using MINTTY or using the default Cygwin terminal, it just stalls under the command psql databasename and does nothing. The only way to get it to respond is to ctrl+C out of it. It works fine in Command Prompt.

I know that for Python you need to enter the -i argument - is there a similar trick for Cygwin?


回答1:


I'm having the same problem. For some reason

psql -l -h localhost -U postgres

returns a listing of dataabases, but any other variation on psql just hangs, silently.


Edit: I found the answer here: how to set up the psql command in cygwin?

Windows psql uses Windows console functions; Cygwin runs best in a terminal like Console2, which doesn't support Windows console API. So psql doesn't work well with Cygwin at all. What's needed is a Cygwin build of client tools like psql




回答2:


I had a similar issue with Mercurial (hg)+OpenSSH, Python and MinTTY, but under MSYS instead of CygWin. I had this exact same problem with mysql as well. Nonetheless, as far as I can tell, both this and my issue were caused by MinTTY not being to handle applications that uses the native Windows console functions.

I solved my issue by following the solution found in comment 64 of https://code.google.com/p/mintty/issues/detail?id=56#c64

With the winpty (https://github.com/rprichard/winpty) project compiled and installed in my path, I was able to run native Python (in interactive mode), Mercurial and MySQL from the MinTTY shell without special builds or switches (such as python -i). All I need was to append console.exe or console before the python or hg command. For convenience, I added aliases such as alias hg="console.exe hg" so I can use the same commands whether I'm in a Linux shell or a Windows MinTTY bash shell.



来源:https://stackoverflow.com/questions/13731384/opening-postgresql-in-cygwin-and-mintty

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!