4.2. PostgreSQL のインストール
インストール可能な PostgreSQL は、内部データベースのインストール中に satellite-installer
ツールでインストールされたものと同じバージョンの PostgreSQL のみになります。Satellite は PostgreSQL バージョン 13 をサポートします。
前提条件
- 準備されたホストは、Satellite Storage の要件 を満たしている。
- 準備されたホストでは、基本オペレーティングシステムリポジトリーが有効になっている。
手順
新しいデータベースサーバーに PostgreSQL をインストールします。
dnf install postgresql-server postgresql-contrib
# dnf install postgresql-server postgresql-contrib
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PostgreSQL データベースを初期化します。
postgresql-setup --initdb
# postgresql-setup --initdb
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /var/lib/pgsql/data/postgresql.conf
ファイルで以下を行います。vi /var/lib/pgsql/data/postgresql.conf
# vi /var/lib/pgsql/data/postgresql.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Satellite で機能するには、外部 PostgreSQL のデフォルト設定を調整する必要があることに注意してください。基本的に推奨される外部データベース設定の調整は次のとおりです。
- checkpoint_completion_target: 0.9
- max_connections: 500
- shared_buffers: 512MB
- work_mem: 4MB
#
を削除して、着信接続をリッスンするようにします。listen_addresses = '*'
listen_addresses = '*'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルの最後に以下の行を追加して、認証に SCRAM を使用します。
password_encryption=scram-sha-256
password_encryption=scram-sha-256
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /var/lib/pgsql/data/pg_hba.conf
ファイルを編集します。vi /var/lib/pgsql/data/pg_hba.conf
# vi /var/lib/pgsql/data/pg_hba.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の行をファイルに追加します。
host all all Satellite_ip/32 scram-sha-256
host all all Satellite_ip/32 scram-sha-256
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PostgreSQL サービスを起動して有効にします。
systemctl enable --now postgresql
# systemctl enable --now postgresql
Copy to Clipboard Copied! Toggle word wrap Toggle overflow postgresql ポートを開きます。
firewall-cmd --add-service=postgresql
# firewall-cmd --add-service=postgresql
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 変更を永続化します。
firewall-cmd --runtime-to-permanent
# firewall-cmd --runtime-to-permanent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow postgres
ユーザーに切り替え、PostgreSQL クライアントを起動します。su - postgres -c psql
$ su - postgres -c psql
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 3 つのデータベースと専用ロールを作成します。1 つは Foreman 用、1 つは Candlepin 用、1 つは Pulp 用です。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow postgres
ユーザーをログアウトします。\q
# \q
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Satellite Server から、データベースにアクセスできることをテストします。接続に成功した場合には、コマンドは
1
を返します。PGPASSWORD='Foreman_Password' psql -h postgres.example.com -p 5432 -U foreman -d foreman -c "SELECT 1 as ping" PGPASSWORD='Candlepin_Password' psql -h postgres.example.com -p 5432 -U candlepin -d candlepin -c "SELECT 1 as ping" PGPASSWORD='Pulpcore_Password' psql -h postgres.example.com -p 5432 -U pulp -d pulpcore -c "SELECT 1 as ping"
# PGPASSWORD='Foreman_Password' psql -h postgres.example.com -p 5432 -U foreman -d foreman -c "SELECT 1 as ping" # PGPASSWORD='Candlepin_Password' psql -h postgres.example.com -p 5432 -U candlepin -d candlepin -c "SELECT 1 as ping" # PGPASSWORD='Pulpcore_Password' psql -h postgres.example.com -p 5432 -U pulp -d pulpcore -c "SELECT 1 as ping"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow