【问题标题】:Opening PostgreSQL in Cygwin and MINTTY在 Cygwin 和 MINTTY 中打开 PostgreSQL
【发布时间】:2012-12-05 19:59:48
【问题描述】:

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

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

【问题讨论】:

  • 你用的是什么命令?我希望mintty -e psql databasename - 能够工作。
  • 不幸的是,这不起作用。另外,我正在尝试切换到使用 mintty 作为我的默认终端,所以我已经在 MINTTY 中调用了psql databasename

标签: cygwin mintty


【解决方案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 等客户端工具

【讨论】:

    【解决方案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)。我只需要在pythonhg 命令之前附加console.execonsole。为方便起见,我添加了诸如 alias hg="console.exe hg" 之类的别名,这样无论我是在 Linux shell 还是 Windows MinTTY bash shell 中,我都可以使用相同的命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-13
      相关资源
      最近更新 更多