VScodeのPostgreSQL拡張が便利

 

 私がお仕事で作っているシステムが扱っているデータベースは、現状すべてがPostgreSQLだったりします。システム開発しているとプログラムだけじゃなくてSQLも色々書いたりしますし、日によっては一日中SQLとにらめっこしているなんてことも。
 プログラムの編集はVScodeで快適にやってますが、ちょっとしたSQLを実行したり、PL/pgSQLの関数書いたりするときに、編集だけならVScodeで可能ですが実行時にはいちいちツール切り替えるのが面倒だなぁ、って思っていました。(そんなに頻繁には切り替えませんが)

 で、そこはやはりVScode。探せばええ感じの拡張機能あるやろと思って調べたら、個人的に気に入ったものがありました。今回はそれを紹介します。

 

◆拡張機能「PostgreSQL」

 https://marketplace.visualstudio.com/items?itemName=ckolkman.vscode-postgres

image

 名前がまんまですが、これ非公式です。(その名前でええんか……と思いつつも)
 開発者はChris Kolkman氏。

 こいつをさくっとインストールすると、サイドメニューのとこにPostgreSQLの象のアイコンが出てきます。そいつを選んで上にある「+」のアイコンをクリックすると、DB接続を設定できます。

image

 

 設定は、コマンドパレットの入力のように画面上部に入力欄が出てきます(下みたいな感じ)ので、そこに入力していく形式です。

image[1]

 この記事を書いている時点では、それぞれ順番に

 ・接続先ホスト名
 ・接続ユーザー名
 ・パスワード
 ・ポート番号
 ・SSL接続するかどうか(選択)
 ・表示するDB(全てか、選択したものだけか)
 ・この接続の名前

 となっているので、入力していきましょう。

 

 全部入力が終わると、左側のパネル内に作った定義が表示されます。これを展開していけば、そのDBのテーブル、ビュー、ファンクションなどの各オブジェクトが表示されます。テーブルをさらに展開すればカラムの一覧も出てきます。定義の確認などに使えますね。

image

image

 

 ここからテーブルの中身も見たい場合は、テーブルを右クリックして「Select Top 1000」を選べば先頭1000行が表示されます。ただしこれは参照だけであり、中身を書き換えたりすることは出来ません。
 また、Create/Delete Tableとかのデータ定義は、GUI上からは出来ません。あくまでもこのGUI部分はクエリ作成の補助機能である、と拡張機能の説明ページにも記載がありますのでご注意を。まあクエリを自分で書けば実行できますけど。

image

 

 

 

◆クエリを実行してみる

 定義が済んだら、VScodeのステータスバー上に出ている「Select Postgres Server」をクリックしましょう。そして先ほど定義しておいた接続を選択し、続けてDBを選択します。選択したものがステータスバー上に表示されたら準備完了!

image

image

image

 以上でVScode上から簡単にクエリが実行できるようになりました。これで、例えばVScodeでつれづれなるままにファイル編集などしている最中に、ふと急にクエリを実行したくてしかない症候群になったときでも大丈夫。

 

 

 

image

image

 このように、プログラムだろうがただのテキストファイルだろうが関係なく、エディタ上にいきなりSQL文をガガガっと書き込みます。書き込んだらその部分を選択して右クリックし、メニューから「Run Query」を選択すれば・・・。

 

 

 

image

 

 この通り

 実行できるクエリはSELECTに限らず、INSERT/UPDATE/DELETEはおろか、TRUNCATE/DROPなども。ようはクエリで書けるなら何でも。保存してあるPL/pgSQLのファイルを開いた場合も、全選択してRun Queryしてやれば実行できます。これでDB関数更新するためにいちいちpsql叩いたりpgAdmin起動したりしなくて済むぞ!やった!!

 

 

 なんでもかんでもこれを使えばいいというわけではありませんが、この使い方で十分という人も結構いるのではないでしょうか。もし興味のある方がいらっしゃれば是非、お試しあれ。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中