web-dev-qa-db-ja.com

WindowsでのPostgreSQLコマンド履歴

Windowsコマンドプロンプト(cmd.exe)からpsqlを使用しようとしていますが、上/下カーソルを使用して前のコマンドにアクセスできません。また、コマンド履歴をそこから読み取ることができるので、.bash_historyに相当するPostgreSQLがどこにあるか(ある場合)を見つけることもできます。

\sは、次のエラーを生成します。

このインストールでは履歴はサポートされていません

Windowsでpsqlコマンド履歴を取得する方法はありますか?

3
James

Windowsでは、.bash_historyは本質的に異なるタイプのシェルであるため、cmd.exeと完全に一致するものはありません。 .psql_historyをもっと参照していると思います( 関連する質問 を参照)。

コマンド履歴をサポートするPostgreSQLのEnterpriseDB WindowsディストリビューションのSQLコマンドラインターミナルで利用可能な「 SQL Shell 」があります。ただし、GUIの代わりにWindowsコマンドプロンプトを使用することを好みます。

表示されるエラーメッセージは、psql.exereadlineサポートなしでビルドされたことを示しています( 参照 )。

通常のWindowsコマンドプロンプトでpsqlを実行するために見つけた最良の方法は、ショートカットを作成することです。

ターゲット:%SystemRoot%\system32\cmd.exe /U /c "chcp 1252 & C:\Progra~1\PostgreSQL\9.6\bin\psql.exe -U database_username -d database_name"

psql shortcut

コマンド履歴は、オプションペインのCommand history Buffer sizeで制御できます。

psql shortcut options

また、レイアウトペインのScreen Buffer Heightを使用して、スクロール可能な出力を調整できます。

psql shortcut layout

これにより、上矢印と下矢印を使用して履歴を取得できますが、現在のセッション内のみです。セッション間で保持されません。

3
vallismortis