在Cygwin和MINTTY中打开PostgreSQL

时间:2012-12-05 19:59:49

标签: cygwin mintty

我似乎无法使用MINTTY或使用默认的Cygwin终端打开PSQL的交互模式,它只是在命令psql databasename下停顿并且什么都不做。让它响应的唯一方法是ctrl + C。它在命令提示符下工作正常。

我知道对于Python你需要输入-i参数 - Cygwin有类似的技巧吗?

2 个答案:

答案 0 :(得分:2)

我在Mercurial(hg)+ OpenSSH,Python和MinTTY上遇到了类似的问题,但是在MSYS而不是CygWin下。我对mysql也有同样的问题。尽管如此,据我所知,这个和我的问题都是由于MinTTY没有处理使用本机Windows控制台功能的应用程序造成的。

我按照https://code.google.com/p/mintty/issues/detail?id=56#c64

的评论64中的解决方案解决了我的问题

在我的路径中编译并安装了winpty(https://github.com/rprichard/winpty)项目后,我能够从MinTTY shell运行 native Python(在交互模式下),Mercurial和MySQL构建或切换(例如python -i)。我只需要在console.execonsole命令之前附加pythonhg。为方便起见,我添加了alias hg="console.exe hg"等别名,所以我可以使用相同的命令,无论我是在Linux shell还是Windows MinTTY bash shell中。

答案 1 :(得分:1)

我遇到了同样的问题。出于某种原因

psql -l -h localhost -U postgres

返回数据库的列表,但psql上的任何其他变体都会以静默方式挂起。


编辑:我在这里找到答案:how to set up the psql command in cygwin?

  

Windows psql使用Windows控制台功能; Cygwin跑得最好   像Console2这样的终端,它不支持Windows控制台API。所以   psql根本不适用于Cygwin。我们需要的是Cygwin   构建像psql

这样的客户端工具