Web版になって久しいですが、とても使いにくいpgAdminのサーバ情報の移行方法です。

Export

pgAdminの公式ヘルプによると Tools > Import/Export からサーバ情報をJSON形式でエクスポートできるとあるのですが、どうも私の環境ではメニューがグレーアウトされていて利用することができませんでした。そのため、先のヘルプの下の方に紹介されているコマンドラインでのエクスポートで行いました。

C:\ > cd C:\Program Files (x86)\pgAdmin 4\v4\venv\Scripts
C:\ > python.exe "C:\Program Files (x86)\pgAdmin 4\v4\web\setup.py" --dump-servers [path_to_folder]\output_servers.json
Configuration for 15 servers dumped to [path_to_folder]\output_servers.json.

Import

インポートはヘルプにあるとおりGUIで行うことができました。ところが、いざ接続しようとしたら接続パスワードを求められてしまい、パスワードを含めてエクスポートする方法を探すも見つけることができません。セキュリティ面の事情を考えると仕方のない部分とはいえ、15台のパスワードを改めて入力する時間ぐらいは探してみることに。

その後、setup.pyによるエクスポート方法の説明に、サーバ情報はSQLiteを利用して管理していると読み取れる記載を見つけたためファイルを探したところ無事にC:\Users\[username]\AppData\Roaming\pgAdmin\pgadmin4.dbが見つかりました。インポート先の同ファイルを上書きし、すべて移行することができました。

p.s.

ところで、dbファイルと同じ場所にpgadmin4.logというファイルを見つけたのですが、サイズが4.5GBもあり驚きました。ローテーションの設定を探すも見つけられずにいます。