RHEL/OracleLinux/CentOSにPostgreSQLをインストールする手順

Redhat系ディストリビューションにPostgreSQLをインストールする手順になります。

  • RHEL
  • OracleLinux
  • CentOS

本手順はOracleLinux8で手順を実施します。

Ubuntuのインストールは以下に用意しておりますので、こちらも合わせて参考にしてみてください。

https://shimi-dai.com/postgresql-install-on-ubuntu/
目次

リポジトリの取得とデフォルトで入っているPostgreSQLの無効化

最新のPostgreSQLリポジトリを取得します。

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

現在入っているPostgreSQLは無効化します。

dnf -qy module disable postgresql

インストール

PostgreSQLを実際にインストールするコマンドは以下になります。

dnf install -y postgresql14-server

PostgreSQL14ではpostgresユーザ(postgres用のOSユーザ)が存在しない場合、自動で作成されます。

# id postgres
uid=26(postgres) gid=26(postgres) groups=26(postgres)

データベースの初期化

ソフトウェアをインストールしたらDB初期化をします。rootユーザで実行してください。

/usr/pgsql-14/bin/postgresql-14-setup initdb

以下のようになればOKです。

# /usr/pgsql-14/bin/postgresql-14-setup initdb
Initializing database ... OK

データベースの自動起動の有効化と起動

systemcltに自動起動設定を追加します。

systemctl enable --now postgresql-14
# systemctl enable --now postgresql-14
Created symlink /etc/systemd/system/multi-user.target.wants/postgresql-14.service → /usr/lib/systemd/system/postgresql-14.service.

起動方法は以下になります。

systemctl start postgresql-14

起動したPostgreSQLの状態は以下のようになります。

# systemctl status postgresql-14
● postgresql-14.service - PostgreSQL 14 database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql-14.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2022-01-11 11:30:54 JST; 13s ago
     Docs: https://www.postgresql.org/docs/14/static/
  Process: 17867 ExecStartPre=/usr/pgsql-14/bin/postgresql-14-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
 Main PID: 17884 (postmaster)
    Tasks: 8 (limit: 11421)
   Memory: 16.8M
   CGroup: /system.slice/postgresql-14.service
           ├─17884 /usr/pgsql-14/bin/postmaster -D /var/lib/pgsql/14/data/
           ├─17919 postgres: logger
           ├─17937 postgres: checkpointer
           ├─17938 postgres: background writer
           ├─17939 postgres: walwriter
           ├─17940 postgres: autovacuum launcher
           ├─17941 postgres: stats collector
           └─17942 postgres: logical replication launcher

 1月 11 11:30:54 118-27-6-45 systemd[1]: Starting PostgreSQL 14 database server...
 1月 11 11:30:54 118-27-6-45 postmaster[17884]: 2022-01-11 11:30:54.496 JST [17884] LOG:  redirecting log output to logging collector process
 1月 11 11:30:54 118-27-6-45 postmaster[17884]: 2022-01-11 11:30:54.496 JST [17884] HINT:  Future log output will appear in directory "log".
 1月 11 11:30:54 118-27-6-45 systemd[1]: Started PostgreSQL 14 database server.
  • システム開発、アプリ開発
  • マッチングアプリ開発
  • インフラ構築支援等、なんでもご相談ください。
よかったらシェアしてね!
  • URLをコピーしました!
目次