kotememo

zipアーカイブ版PostgreSQLの導入手順

はじめに

zipアーカイブ版PostgreSQLのダウンロードからスーパユーザでのログインまで行いました。

環境

  • Windows 10 Home

概要

  1. zipアーカイブ版PostgreSQLをダウンロード
  2. データベースクラスタ初期化
  3. データベースサーバ起動
  4. ログイン

1. zipアーカイブ版PostgreSQLをダウンロード

PostgreSQLのダウンロードページにてzipファイルをダウンロードします。

今回はVersion 13.7をダウンロードしました。

PostgreSQLダウンロードページ画像

PostgreSQLダウンロードURL画像

zipファイルを解凍し、pgsqlディレクトリの中身を任意の場所(例:C:\postgresql-binaries\postgresql-13\pgsql-13.7-1)に移動させます。

その後、任意のディレクトリ(例:postgresql-13)にdatalogディレクトリを作成します。

後の手順でdataにはデータベースクラスタ、logにはサーバログ出力ファイルを格納します。

C:.
└─postgresql-binaries
   └─postgresql-13
      ├─data
      ├─log
      └─pgsql-13.7-1
         ├─bin
         ├─doc
         ├─include
         ├─lib
         ├─pgAdmin4
         ├─share
         ├─StackBuilder
         └─symbols

2. データベースクラスタ初期化

コマンドプロンプトを開き、カレントディレクトリをpgsqlに合わせます。

その後、bin\pg_ctl initdbコマンドを用いてデータベースクラスタを初期化します。

cd C:\postgresql-binaries\postgresql-13\pgsql-13.7-1
set data_dir="C:\postgresql-binaries\postgresql-13\data"
bin\pg_ctl initdb -D %data_dir% -o "-U postgres -E UTF8 --no-locale -A scram-sha-256 -W"
オプション説明
-Ddataディレクトリパスデータベースクラスタを格納するディレクトリ
-Upostgresスーパユーザ名
-EUTF8データベース作成時のデフォルトの文字コード
--no-localeデフォルトのロケール
-Ascram-sha-256認証方式。他にはtrustpassword等が設定可能
-Wパスワード入力のプロンプトを表示

コマンドを実行すると作成するスーパユーザのパスワード設定を要求されるので、再入力と合わせて2回入力します。

成功すると最後にデータベースサーバ起動のコマンドが出力されます。

PostgreSQLデータベースクラスタ初期化画像

3. データベースサーバ起動

起動

bin\pg_ctl startコマンドを用いてデータベースサーバを起動できます。

cd C:\postgresql-binaries\postgresql-13\pgsql-13.7-1
set data_dir="C:\postgresql-binaries\postgresql-13\data"
set log_file="C:\postgresql-binaries\postgresql-13\log\postgresql.log"
bin\pg_ctl start -w -D %data_dir% -l %log_file% -o "-p 5432"
オプション説明
-wデータベースサーバ起動処理が完了するまで待機
-p5432ポート番号
-Ddataディレクトリパス作成したデータベースクラスタのディレクトリパス
-lログファイルパスサーバログ出力のファイルパス

PostgreSQLサーバ起動画像

稼働確認

サーバが稼働しているかどうかはbin\pg_ctl statusコマンドで確認できます。

稼働している場合はPID(プロセスID)が出力されます。

cd C:\postgresql-binaries\postgresql-13\pgsql-13.7-1
set data_dir="C:\postgresql-binaries\postgresql-13\data"
bin\pg_ctl status -D %data_dir%

PostgreSQLサーバ実行確認画像

停止

サーバを停止させる場合にはbin\pg_ctl stopコマンドを使用します。

-mオプションではsmartfastimmediateから停止方式を選択できます。

cd C:\postgresql-binaries\postgresql-13\pgsql-13.7-1
set data_dir="C:\postgresql-binaries\postgresql-13\data"
bin\pg_ctl stop -D %data_dir% -m fast
オプション説明
-msmart全クライアントの切断待機、バックアップ終了まで待機
fastクライアント強制切断、実行中のトランザクションをロールバック
immediate全サーバプロセスを即座に中断。再起動時にクラッシュリカバリ処理を実行

PostgreSQL停止画像

4. ログイン

スーパユーザpostgresを作成した際に同名のデータベースpostgresが作成されています。

このデータベースにログインするにはbin\psqlコマンドを使用します。

パスワードを入力するとログイン出来ます。

また、ログアウトするには\qを入力します。

cd C:\postgresql-binaries\postgresql-13\pgsql-13.7-1
bin\psql -h localhost -p 5432 -U postgres -d postgres
オプション説明
-hlocalhostIPアドレス
-p5432ポート番号
-Upostgresユーザ名
-dpostgresデータベース名

PostgreSQLログイン画像

\duコマンドを使用するとロール一覧を表示できます。

postgres=# \du
                                             ロール一覧
 ロール名 |                                   属性                                   | 所属グループ
----------+--------------------------------------------------------------------------+--------------
 postgres | スーパユーザ, ロール作成可, DB作成可, レプリケーション可, RLS のバイパス | {}