RHEL 8 / CentOS 8におけるPostgreSQL 12のインストール手順を説明します。
前提条件
- 作業は、root権限を持つユーザで実施します。
- OSは、以下のバージョンで検証しています。
# cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)
# uname -r
4.18.0-147.el8.x86_64
作業手順
パッケージのインストール
現在のAppStreamのPostgreSQLモジュールを確認します。
# dnf module list postgresql
CentOS-8 - AppStream
Name Stream Profiles Summary
postgresql 9.6 client, server [d] PostgreSQL server and client module
postgresql 10 [d] client, server [d] PostgreSQL server and client module
postgresql 12 client, server [d] PostgreSQL server and client module
ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled
バージョン10がデフォルトのモジュールとして指定されているため、バージョン12を明示的に指定してPostgreSQLをインストールします。
# dnf -y module install postgresql:12
(略)
完了しました!
データベースクラスタの作成
PostgreSQLは、サービス起動前にデータベースクラスタを作成する必要があります。
デフォルト文字コードをUTF-8、デフォルトロケールをCとして、データベースクラスタを作成します。
# export PGSETUP_INITDB_OPTIONS="--encoding=UTF-8 --no-locale"
# postgresql-setup --initdb
サービスの起動
以下のコマンドを実行し、サービスの起動と自動起動設定を行います。
# systemctl start postgresql.service
# systemctl enable postgresql.service
以下のコマンドで、サービスの起動状態を確認できます。
Loaded:
の列にloaded (<Unitファイル>; enabled; <自動起動の初期設定>)
が表示されていれば、自動起動は有効化されています。
Active:
の列にactive (running)
が表示されていれば、サービスは起動中です。
# systemctl status --no-pager postgresql.service
● postgresql.service - PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2020-07-18 15:07:58 JST; 46s ago
(略)
参考情報
サービス停止、起動コマンド
パッケージのインストール後にサービスの停止、起動を行う場合は、以下のコマンドを実行します。
### サービス停止
# systemctl stop postgresql.service
### サービス起動
# systemctl stop postgresql.service
ファイアウォールの設定
OS上でfirewalldが有効になっている場合は、DB通信を許可する設定を行います。デフォルトのゾーン(public)以外を使用している場合は、public
の箇所に任意のゾーン名を指定します。
# firewall-cmd --permanent --zone=public --add-service=postgresql
# firewall-cmd --reload
インストールパッケージの一覧
PostgreSQLのインストールに必要なパッケージは以下の通りです。
オフライン環境のサーバにインストールを行う場合は、パッケージリポジトリから該当ファイルを取得して、作業対象のサーバに転送してください。
# dnf module install postgresql:12
=========================================================================================================
パッケージ Arch バージョン リポジトリー サイズ
=========================================================================================================
group/moduleパッケージをインストール:
postgresql-server x86_64 12.1-2.module_el8.1.0+273+979c16e6 AppStream 5.5 M
依存関係のインストール:
libpq x86_64 12.1-3.el8 AppStream 195 k
postgresql x86_64 12.1-2.module_el8.1.0+273+979c16e6 AppStream 1.4 M
libicu x86_64 60.3-2.el8_1 BaseOS 8.8 M
モジュールプロファイルのインストール:
postgresql/server
モジュールストリームの有効化:
postgresql 12
トランザクションの概要
=========================================================================================================
インストール 4 パッケージ
ダウンロードサイズの合計: 16 M
インストール済みのサイズ: 62 M