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