好きこそものの上手なれ

他人から見れば、下手の横好きですが、そっと見守ってください。

WindowsでPostgreSQLインストールと起動

[PR] PostgreSQLが使えて安いレンタルサーバーです。レンタルサーバーならPostgreSQLのインストールは不要です。
月額167円からの高機能レンタルサーバー




●インストール
まず、zipをダウンロードします。
postgresql-15.2-1-windows-x64-binaries.zip



今回は、インストーラーを使わずにzipをダウンロードして、手動で設定していきます。


展開して、ユーザフォルダにpgsqlを移動します。
C:\Users\ユーザ\pgsql



●設定
pgsqlのフォルダの中身です。赤枠は、新規で作成したフォルダです。
dataはデータベースのデータが入るディレクトリで、logはログが入るディレクトリです。

手動で操作しますので、以下の4つのバッチファイルを作成します。


①データベースを初期化する (最初に一度だけ行う)
②データベースを起動する
③データベースのステータスを表示する
④データベースを停止する


環境変数PGDATAをC:\Users\ユーザ\pgsql\dataに設定しておくと、-Dオプションは不要です。私は、明示的に-Dオプションを使っております。


①データベースを初期化する。init.bat


C:\Users\ユーザ\pgsql\bin\initdb.exe -U postgres -A password -E utf-8 -W -D C:\Users\ユーザ\pgsql\data


②データベースを起動する。run.bat


C:\Users\ユーザ\pgsql\bin\pg_ctl.exe start -D C:\Users\ユーザ\pgsql\data -l C:\Users\ユーザ\pgsql\log\run.log


③データベースのステータスを表示する。 status.bat


C:\Users\ユーザ\pgsql\bin\pg_ctl.exe status -D C:\Users\ユーザ\pgsql\data -l C:\Users\ユーザ\pgsql\log\status.log


④データベースを停止する。 stop.bat


C:\Users\ユーザ\pgsql\bin\pg_ctl.exe stop -D C:\Users\ユーザ\pgsql\data -l C:\Users\ユーザ\pgsql\log\stop.log



①のデータベースを初期化するを実行すると


データベースシステム内のファイルの所有者はユーザー"●●●"となります。
このユーザーをサーバープロセスの所有者とする必要があります。


データベースクラスタはロケール"Japanese_Japan.932"で初期化されます。
initdb: ロケール"Japanese_Japan.932"用の適切なテキスト検索設定が見つかりませんでした
デフォルトのテキスト検索構成は simple に設定されます。


データベージのチェックサムは無効です。


新しいスーパーユーザーのパスワードを入力してください: ここでパスワードを設定
再入力してください: ここでパスワードを設定


ディレクトリC:/Users/●●●/pgsql/dataの権限を設定しています ... ok
サブディレクトリを作成しています ... ok
動的共有メモリの実装を選択しています ... windows
デフォルトのmax_connectionsを選択しています ... 100
デフォルトのshared_buffersを選択しています ... 128MB
デフォルトの時間帯を選択しています ... Asia/Tokyo
設定ファイルを作成しています ... ok
ブートストラップスクリプトを実行しています ... ok
ブートストラップ後の初期化を実行しています ... ok
データをディスクに同期しています ... ok


成功しました。以下のようにしてデータベースサーバーを起動できます:


^"C^:^\Users^\●●●^\pgsql^\bin^\pg^_ctl^" -D ^"C^:^\Users^\●●●^\pgsql^\data^" -l ログファイル start


と表示され、データベースを起動できる準備が整います。


あとはデータベースの起動/確認/停止を好きなタイミングで行えばよいです。