データベース - postgreSQL - インストール - AlmaLinux

クラウディア 
1. 概要
2. インストール
3. 起動
4. バージョン指定

1. 概要

 「AlmaLinux 9.5」へ、インストールする機会があったので、メモを残します。  本ページは、下記のサイトを参考にさせていただきました。
AlmaLinux 9 に PostgreSQL 15 を yum リポジトリからインストールして、SSL 接続を有効にする #dnf

2. インストール

 「root」ユーザ権限で。

dnf install -y postgresql-server
 初期化します。  「AlmaLinux」では、データベースのディレクトリを指定しなければならないようで、デフォルトでは、ディレクトリは「/var/lib/pgsql/data」のようです。

sudo -u postgres initdb -D /var/lib/pgsql/data
 下記が出力されました。

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

データベースクラスタはロケール"ja_JP.UTF-8"で初期化されます。
デフォルトのデータベース符号化方式はそれに対応してUTF8に設定されました。
initdb: ロケール"ja_JP.UTF-8"用の適切なテキスト検索設定が見つかりませんでした
デフォルトのテキスト検索構成は simple に設定されます。

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

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

initdb: 警告: ローカル接続に対して"trust"認証を有効にします
pg_hba.confを編集する、もしくは、次回initdbを実行する時に -A オプション、
あるいは --auth-local および --auth-host オプションを使用することで変更する
ことがきます。

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

    pg_ctl -D /var/lib/pgsql/data -l ログファイル start

3. 起動

 サービスを有効化。

systemctl enable postgresql
 起動。

service postgresql start
 確認。

# service postgresql status
Redirecting to /bin/systemctl status postgresql.service
● postgresql.service - PostgreSQL database server
     Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; preset: disabled)
     Active: active (running) since Wed 2025-01-08 15:11:26 JST; 6s ago
    Process: 6518 ExecStartPre=/usr/libexec/postgresql-check-db-dir postgresql (code=exited, status=0/SUCCESS)
   Main PID: 6520 (postmaster)
      Tasks: 8 (limit: 23020)
     Memory: 16.4M
        CPU: 175ms
     CGroup: /system.slice/postgresql.service
             tq6520 /usr/bin/postmaster -D /var/lib/pgsql/data
             tq6521 "postgres: logger "
             tq6523 "postgres: checkpointer "
             tq6524 "postgres: background writer "
             tq6525 "postgres: walwriter "
             tq6526 "postgres: autovacuum launcher "
             tq6527 "postgres: stats collector "
             mq6528 "postgres: logical replication launcher "

 1月 08 15:11:26 alima95 systemd[1]: Starting PostgreSQL database server...
 1月 08 15:11:26 alima95 postmaster[6520]: 2025-01-08 15:11:26.822 JST [6520] LOG:  ログ出力をログ収集プロセスにリ...
 1月 08 15:11:26 alima95 postmaster[6520]: 2025-01-08 15:11:26.822 JST [6520] ヒント:  ここからのログ出力はディレ...
 1月 08 15:11:26 alima95 systemd[1]: Started PostgreSQL database server.

4. バージョン指定

 前項で、インストールされたものは、「postgreSQL 13」でした。  2025年1月10日時点で、「postgreSQL 17」をインストールするには。  以下、すべて、「root」ユーザ権限で。  リポジトリを追加、して、アップデート。

dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

dnf update -y
 バージョン指定して、インストール。  ここでは、「postgreSQL 17」とします。

dnf install -y postgresql17-server
 以降の手順は、前項と同様です。  2025年1月10日時点のバージョンは、下記の通りです。

$ psql --version
psql (PostgreSQL) 17.2
 初期化(このあたり、手順が変わっている)。

$ postgresql-17-setup initdb
Initializing database ... OK
 起動。

systemctl enable postgresql-17

service postgresql-17 start
ハイスピードプランU-NEXT