PostgreSQLをインストールする

0
1784
views

アーカイブファイルのダウンロード

PostgreSQLアーカイブファイル ダウンロードページ https://www.enterprisedb.com/download-postgresql-binaries

インストーラを使わない方法(Windowsのサービスに登録しない方法)です。
例として、PostgreSQL のアーカイブフォルダ postgresql-9.6.3 をCドライブ直下に置きます。

dir
    ディレクトリ: C:\

Name
----
apache-tomcat-8.5.15
HashiCorp
Intel
IPAexfont00201
Logs
PerfLogs
pleiades-c
pleiades-java
pleiades-php
PortableApps
postgresql-9.6.3
Program Files
Program Files (x86)
tools
Users
Windows

環境変数の登録

[Windows キー + X] – [A キー] – [Alt + Y] の順にキーを押して、管理者権限でコマンドプロンプトを立ち上げます。

Path に bin ディレクトリのパスを追加

始めにシステム環境変数の Path の内容を確認します。PostgreSQLにパスが通っていないことを確認します。

set path
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\ProgramData\chocolatey\bin;C:\Program Files\Git\cmd;C:\Program Files\Java\jdk1.8.0_112\bin;C:\HashiCorp\Vagrant\bin;C:\Program Files\nodejs\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

続いてシステム環境変数 Path に PostgreSQL のパス c:\postgresql-9.6.3\bin(例)を登録します。

setx path c:\postgresql-9.6.3\bin

成功: 指定した値は保存されました。

再度 set pathを実行して、bin ディレクトリにパスが通っているか、念のため確認します。

set path

 

PGDATA として data ディレクトリのパスを登録

次はシステム環境変数 PGDATA が存在するか調べます。

set pgdata
環境変数 pgdata が定義されていません

システム環境変数 PGDATA が存在しないことを確認した上で、PostgreSQL の data ディレクトリ C:\postgresql-9.6.3\data(例)を PGDATA として登録します。

setx PGDATA C:\postgresql-9.6.3\data

成功: 指定した値は保存されました。

再度 set pgdataを実行して、data ディレクトリが PGDATA 変数に登録されているか、念のため確認します。

set pgdata

 

データベースクラスタの作成

pg_ctl initdb -o "-A password -W -U postgres -E UTF8"

コマンドを実行しパスワードを設定するとデータベースクラスタの初期化処理が開始されます。

実行結果:

データベースシステム内のファイルの所有者は"natsuki"ユーザでした。
このユーザがサーバプロセスを所有しなければなりません。

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

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

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

処理結果:

ディレクトリC:/postgresql-9.6.3/dataの権限を設定しています ... ok
サブディレクトリを作成しています ... ok
デフォルトのmax_connectionsを選択しています ... 100
デフォルトの shared_buffers を選択しています ... 128MB
selecting dynamic shared memory implementation ... windows
設定ファイルを作成しています ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
データをディスクに同期しています...ok

Success. You can now start the database server using:

    "c:/postgresql-9.6.3/bin\pg_ctl" -D "C:\postgresql-9.6.3\data" -l logfile start

DBサーバの起動/停止

データベースの起動

pg_ctl startコマンドでDBサーバが起動します。-l オプションでファイルパスを指定すれば、ログがファイルに書き込まれます。

pg_ctl start -l c:\postgresql-9.6.3\logs\postgresql.log
サーバは起動中です。

データベースの停止

pg_ctl stopコマンドでDBサーバが停止します。

pg_ctl stop
サーバ停止処理の完了を待っています....完了
サーバは停止しました

ステータスの確認

pg_ctl statusコマンドでDBサーバの起動状態が確認できます。

pg_ctl status
pg_ctl: サーバが動作中です(PID: 5244)
c:/postgresql-9.6.3/bin/postgres.exe