PostgreSQL クライアントをWindows でインストールなしで使う

psql コマンドだけちょこっと使いたい。 ただそれだけなのだが、クライアントのみのバイナリは配布されていない。

そんな時は、zip archive 版から不要ファイルを削除すれば良い。

PostgreSQL ダウンロードサイトから zip archive のリンクを辿れば postgresql-16.4-1-windows-x64-binaries.zip のような zip archive が入手できる。

postgresql-16.4-1-windows-x64-binaries.zip を解凍すると以下のようなフォルダ構成になっている。

このまま bin\psql.exe を実行すれば psql コマンドは使えるが、サーバなど全部入りなのでディスク容量は 900M を超える。

bin フォルダ以外は不要で、もっと言えば以下のファイルだけあれば psql コマンドは一応使えるし、ディスク容量も 8M 程度。


pg_dumppg_restore も必要な場合は、pg_dump.exepg_restore.exe に加え、zlib1.dll, liblz4.dll, libzstd.dll も残して置くと良い。


bin フォルダの横に以下のようなバッチファイル用意しておくと簡単。

@echo off
setlocal

chcp 65001
set PGCLIENTENCODING=utf-8

set PGHOST=localhost
set PGPORT=5432
set PGDATABASE=postgres
set PGUSER=postgres
set PGPASSWORD=mypassword

echo ----------------------------------------------
echo   HOST:     %PGHOST% %PGPORT%
echo   DATABASE: %PGDATABASE%
echo   USERNAME: %PGUSER%
echo ----------------------------------------------

%~dp0bin\psql

cmd /K

endlocal
:END