はじめに
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 のバイパス | {}