MINTTY またはデフォルトの Cygwin ターミナルを使用して PSQL のインタラクティブ モードを開くことができないようです。コマンドの下で停止し、psql databasename
何もしません。応答させる唯一の方法は、ctrl + C で終了することです。コマンドプロンプトでは問題なく動作します。
Python の場合、-i 引数を入力する必要があることは知っています。Cygwin にも同様のトリックはありますか?
私は同じ問題を抱えています。何らかの理由で
psql -l -h localhost -U postgres
データベースのリストを返しますが、psql の他のバリエーションは黙ってハングします。
編集: ここで答えを見つけました: cygwin で psql コマンドを設定する方法は?
Windows psql は Windows コンソール関数を使用します。Cygwin は、Windows コンソール API をサポートしていない Console2 のような端末で最適に動作します。そのため、psql は Cygwin ではまったくうまく機能しません。必要なのは、psql のようなクライアント ツールの Cygwin ビルドです。
Mercurial (hg)+OpenSSH、Python、および MinTTY で同様の問題が発生しましたが、CygWin ではなく MSYS で発生しました。私もこれとまったく同じ問題を抱えていmysql
ました。それにもかかわらず、私が知る限り、これも私の問題も、MinTTY がネイティブの Windows コンソール機能を使用するアプリケーションを処理しないことが原因でした。
https://code.google.com/p/mintty/issues/detail?id=56#c64のコメント 64 にある解決策に従って、問題を解決しました。
winpty ( https://github.com/rprichard/winpty ) プロジェクトをコンパイルしてパスにインストールすると、ネイティブPython (インタラクティブ モード)、Mercurial、および MySQL を MinTTY シェルから特別なビルドやスイッチなしで実行できました (などpython -i
)。orコマンドの前にconsole.exe
orを追加するだけで済みました。便宜上、 などのエイリアスを追加して、Linux シェルでも Windows MinTTY bash シェルでも同じコマンドを使用できるようにしました。console
python
hg
alias hg="console.exe hg"