SSブログ

psqlを使うときはtmuxとかを使った方がええで [Linux]

題名がエセ関西弁ですが、psqlを使うときにtmuxを使ったら捗ったはなし。psqlは普通にコマンドっぽく使う方法と、psqlの中に入ってインタラクティブにSQLを打つ方法がある。できればSQLファイルを作って、psql -f で実行すればいいのだが、psqlに入った方が融通が効く場合も多い。というか、入らないと得られない情報もあるだろう。

ただインタラクティブというか、ラインエディタ的というか、SQLと内部コマンドがないまぜになったインターフェイスってのもあまり使い良くはない。その方法論自体は悪くはないのだが、内部コマンドがちょっと独自なのと(よくありがちな終了の仕方さえわからないとか)、SQLを発行しようとして ; を忘れてちょっと待っちゃったりするところが軽快さがないというか。

まぁ機能的には問題ないものの、コンソールのウインドウの大きさを変えると履歴がクリアされたりしていたと思うので、結果を表示しようと気づいたときには消えてまたSQLなどを打たないといけないとかあったりした。そして、SQLは複数行に渡ることもあるので、コマンド履歴が使えない。それが面倒くさい。

長めのSQLを使うときは、別にエディタとかでSQLを書いてから、コンソールにコピペした方が間違えた場合の修正は楽だ。それと書く文字列もカーソルキーで戻って文字を挿入できなかったりするクソ仕様なので、コマンド履歴を使えないのを合わせて、SQLを直に書くときは短くて済む時ぐらいにすべきだろう。

結果履歴が消えるとか、表示を遡りたいとかだと、tmuxがおすすめです。コマンドラインだとlessで渡せば、結果をキーでスクロールさせられたりするんだけど、psqlだと渡せないのでpsqlを起動する前にtmuxを立ち上げておくとビュアーっぽく使えたりします。Ctrl+b, [ だったかな? それで大体viとかlessとかと同じキーで操作できるはずです。

GNU screenとかもあるけど、tmuxの方が必要十分で軽いらしいので好きです。初心者の方は是非tmuxの使用をお勧めします。個人的にはCtrl+b, %で縦分割がお気に入りです。自分が使ったときにはデフォルトでscreenが出来なかった機能だったので、tmux一択でした。というか縦分割するためにパッチを当てたバージョンを入れるのとかは面倒すぎてヤです。

Linuxは基本ツールはユーザーランドに元々入っている状態か、パッケージマネージャですんなり入れられる状態で使えないとダメですね。あとやたらカスタマイズをかけないと使えないソフトとかも嫌いです。デフォルトでそこそこ動く状態じゃないと嫌ですね。そこから自分がやりたいことを付け加えるのがいいわけで、設定なしでは動かないというのは今時じゃないだろうと。

コメント(0) 
共通テーマ:パソコン・インターネット

Twitterまとめ投稿 2020/01/25 [Twitter]


コメント(0)