3

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

我知道对于 Python,您需要输入 -i 参数 - Cygwin 是否有类似的技巧?

4

2 回答 2

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运行本机Python(以交互模式)、Mercurial 和 MySQL,而无需特殊构建或开关(如python -i)。我所需要的只是在or命令之前附加console.exeor 。为方便起见,我添加了别名,这样无论我在 Linux shell 还是 Windows MinTTY bash shell 中,我都可以使用相同的命令。consolepythonhgalias hg="console.exe hg"

于 2014-04-19T00:29:06.193 回答
2

我有同样的问题。由于某些原因

psql -l -h localhost -U postgres

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


编辑:我在这里找到了答案:如何在 cygwin 中设置 psql 命令?

Windows psql 使用 Windows 控制台功能;Cygwin 在不支持 Windows 控制台 API 的 Console2 等终端中运行最好。所以 psql 根本不能与 Cygwin 一起工作。需要的是一个 Cygwin 构建的客户端工具,如 psql

于 2013-10-28T04:24:54.067 回答