3.3. PostgreSQL のインストール
インストール可能な PostgreSQL は、内部データベースのインストール中に satellite-installer
ツールでインストールされたものと同じバージョンの PostgreSQL のみになります。Satellite は PostgreSQL バージョン 12 をサポートします。
手順
PostgreSQL をインストールするには、以下のコマンドを入力します。
dnf install postgresql-server postgresql-evr
# dnf install postgresql-server postgresql-evr
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 /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 md5
host all all Satellite_ip/32 md5
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 サーバーで postgresql ポートを開きます。
firewall-cmd --add-service=postgresql firewall-cmd --runtime-to-permanent
# firewall-cmd --add-service=postgresql # 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 つは Satellite 用、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