PostgreSQL
pgadmin4

WindowsでもpgAdmin4でサーバーモードしたい!

PostgreSQL10がリリースされたと同時に pgAdmin4もv2.0になりました。
すごいですよね!
v1.xに比べて圧倒的なまでに改善したレスポンス!!
pgAdmin3には及ばないまでも十分実用になるレベル。雌伏の1年を経てようやく来たか・・・!

Windows版PostgreSQL9.6系にはpgAdmin4のv1.xが同梱されてますがさっさと封印してpgAdmin4のv2.0をインストールすべきです。
ストレスが全然ちがうから。

で本題ですが、

Windows版pgAdmin4はV2.0になってもデスクトップモードがメインだけど、サーバーモードもしたいですよね!
サーバーモードとはphpMyAdminみたくブラウザで開けるモードです。
各PCにいちいちインストールしなくても サーバー機1台にだけ入れてみんなで共有、とかできるですよ。

まずはふつうにWindows版のpgAdmin4のパッケージをダウンロード&インストール。

https://www.pgadmin.org/download/

次にWindows用のPython、2.7系の32bit版「Windows x86 MSI installer」をダウンロード&インストール。

https://www.python.org/downloads/windows/
python-2.7.13.msi で動作確認しました。
64bit版python-2.7.14.amd64.msiもありますがそちらでは動きません。なぜならpgAdmin4がx86版なので。

Pythonのインストールフォルダから python.exe、python27.lib の2つ

  • C:\Python27\python.exe
  • C:\Python27\libs\python27.lib

を、pgAdmin4のインストールフォルダ
 例: C:\Program Files (x86)\pgAdmin 4\v2\venv\
の直下にコピー。(インストール先が違うばあいはご自分の環境に合わせてください)

テキストエディタ(メモ帳でも可)で以下の内容のバッチファイルを作成。

pgAdmin4server-mode.bat
cd /d "C:\Program Files (x86)\pgAdmin 4\v2\venv"
powershell -WindowStyle Hidden -command ".\python ../web/pgAdmin4.py"

置き場所はどこでもよいです。
作ったらダブルクリックで起動させてください。一瞬ウィンドウ(コマンドプロンプト)が開きますが、すぐに消えます。

ブラウザで localhost:5050 を開く。

成功したらpgAdmin4が開きます。
※バッチファイルをダブルクリック→ウィンドウが閉じてからも初期処理がちょっと続いてるので、30秒くらいは待った方がいいかも


 
サーバーモードで何がいいかって、起動がちょっと早くなるんですよね。2回目以降は特に。
あと複数のウィンドウが開けるのが便利。いやデスクトップモードでも複数開けるんだけど、ブラウザだとタブで簡単に行き来できるので。

ちなみに公式にはApacheとmod_wsgiでサーバーモードするのがおススメされていますが、
https://www.pgadmin.org/docs/pgadmin4/dev/server_deployment.html#apache-httpd-configuration-windows

mod_wsgiのバイナリが手に入らないんです。。。
配布やめたです?

(参考サイト)
pgAdmin4ベータ版をWindowsで動かす(ブラウザモード編)
https://kenpg.bitbucket.io/blog/201606/12.html