はじめに
zipアーカイブ版PostgreSQLのダウンロードからスーパユーザでのログインまで行いました。
環境
- Windows 10 Home
概要
- zipアーカイブ版PostgreSQLをダウンロード
- データベースクラスタ初期化
- データベースサーバ起動
- ログイン
1. zipアーカイブ版PostgreSQLをダウンロード
PostgreSQLのダウンロードページにてzipファイルをダウンロードします。
今回はVersion 13.7をダウンロードしました。
zipファイルを解凍し、pgsqlディレクトリの中身を任意の場所(例:C:\postgresql-binaries\postgresql-13\pgsql-13.7-1)に移動させます。
その後、任意のディレクトリ(例:postgresql-13)にdataとlogディレクトリを作成します。
後の手順で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"
| オプション | 値 | 説明 |
|---|---|---|
| -D | dataディレクトリパス | データベースクラスタを格納するディレクトリ |
| -U | postgres | スーパユーザ名 |
| -E | UTF8 | データベース作成時のデフォルトの文字コード |
| --no-locale | デフォルトのロケール | |
| -A | scram-sha-256 | 認証方式。他にはtrustやpassword等が設定可能 |
| -W | パスワード入力のプロンプトを表示 |
コマンドを実行すると作成するスーパユーザのパスワード設定を要求されるので、再入力と合わせて2回入力します。
成功すると最後にデータベースサーバ起動のコマンドが出力されます。
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 | データベースサーバ起動処理が完了するまで待機 | |
| -p | 5432 | ポート番号 |
| -D | dataディレクトリパス | 作成したデータベースクラスタのディレクトリパス |
| -l | ログファイルパス | サーバログ出力のファイルパス |
稼働確認
サーバが稼働しているかどうかは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%
停止
サーバを停止させる場合にはbin\pg_ctl stopコマンドを使用します。
-mオプションではsmart、fast、immediateから停止方式を選択できます。
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
| オプション | 値 | 説明 |
|---|---|---|
| -m | smart | 全クライアントの切断待機、バックアップ終了まで待機 |
| fast | クライアント強制切断、実行中のトランザクションをロールバック | |
| immediate | 全サーバプロセスを即座に中断。再起動時にクラッシュリカバリ処理を実行 |
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
| オプション | 値 | 説明 |
|---|---|---|
| -h | localhost | IPアドレス |
| -p | 5432 | ポート番号 |
| -U | postgres | ユーザ名 |
| -d | postgres | データベース名 |
\duコマンドを使用するとロール一覧を表示できます。
postgres=# \du
ロール一覧
ロール名 | 属性 | 所属グループ
----------+--------------------------------------------------------------------------+--------------
postgres | スーパユーザ, ロール作成可, DB作成可, レプリケーション可, RLS のバイパス | {}