3.3. PostgreSQL のインストール
インストール可能な PostgreSQL は、内部データベースのインストール中に satellite-installer
ツールでインストールされたものと同じバージョンの PostgreSQL のみになります。PostgreSQL は、Red Hat Enterprise Linux 8 リポジトリーまたは Red Hat Enterprise Linux Server 7 リポジトリーを使用してインストールできます。Satellite は PostgreSQL バージョン 12 をサポートします。
3.3.1. Red Hat Enterprise Linux 8 への PostgreSQL のインストール
手順
PostgreSQL をインストールするには、以下のコマンドを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dnf install postgresql-server postgresql-evr
# dnf install postgresql-server postgresql-evr
PostgreSQL を初期化するには、以下のコマンドを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow postgresql-setup initdb
# postgresql-setup initdb
/var/lib/pgsql/data/postgresql.conf
ファイルで以下を行います。Copy to Clipboard Copied! Toggle word wrap Toggle overflow vi /var/lib/pgsql/data/postgresql.conf
# vi /var/lib/pgsql/data/postgresql.conf
#
を削除して、着信接続をリッスンするようにします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow listen_addresses = '*'
listen_addresses = '*'
/var/lib/pgsql/data/pg_hba.conf
ファイルを編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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/24 md5
host all all Satellite_ip/24 md5
PostgreSQL サービスを起動し、有効にするには、以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl start postgresql systemctl enable postgresql
# systemctl start postgresql # systemctl enable postgresql
外部 PostgreSQL サーバーで postgresql ポートを開きます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow firewall-cmd --add-service=postgresql firewall-cmd --runtime-to-permanent
# firewall-cmd --add-service=postgresql # firewall-cmd --runtime-to-permanent
postgres
ユーザーに切り替え、PostgreSQL クライアントを起動します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow su - postgres -c psql
$ su - postgres -c psql
3 つのデータベースと専用のロールを作成します。1 つは Satellite 用、1 つは Candlepin 用、もう 1 つは Pulp 用です。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CREATE USER "foreman" WITH PASSWORD 'Foreman_Password'; CREATE USER "candlepin" WITH PASSWORD 'Candlepin_Password'; CREATE USER "pulp" WITH PASSWORD 'Pulpcore_Password'; CREATE DATABASE foreman OWNER foreman; CREATE DATABASE candlepin OWNER candlepin; CREATE DATABASE pulpcore OWNER pulp;
CREATE USER "foreman" WITH PASSWORD 'Foreman_Password'; CREATE USER "candlepin" WITH PASSWORD 'Candlepin_Password'; CREATE USER "pulp" WITH PASSWORD 'Pulpcore_Password'; CREATE DATABASE foreman OWNER foreman; CREATE DATABASE candlepin OWNER candlepin; CREATE DATABASE pulpcore OWNER pulp;
postgres
ユーザーをログアウトします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow \q
# \q
Satellite Server から、データベースにアクセスできることをテストします。接続に成功した場合には、コマンドは
1
を返します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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"
3.3.2. Red Hat Enterprise Linux 7 への PostgreSQL のインストール
手順
PostgreSQL をインストールするには、以下のコマンドを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum install rh-postgresql12-postgresql-server \ rh-postgresql12-syspaths \ rh-postgresql12-postgresql-evr
# yum install rh-postgresql12-postgresql-server \ rh-postgresql12-syspaths \ rh-postgresql12-postgresql-evr
PostgreSQL を初期化するには、以下のコマンドを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow postgresql-setup initdb
# postgresql-setup initdb
/var/opt/rh/rh-postgresql12/lib/pgsql/data/postgresql.conf
ファイルを編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow vi /var/opt/rh/rh-postgresql12/lib/pgsql/data/postgresql.conf
# vi /var/opt/rh/rh-postgresql12/lib/pgsql/data/postgresql.conf
#
を削除して、着信接続をリッスンするようにします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow listen_addresses = '*'
listen_addresses = '*'
/var/opt/rh/rh-postgresql12/lib/pgsql/data/pg_hba.conf
ファイルを編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow vi /var/opt/rh/rh-postgresql12/lib/pgsql/data/pg_hba.conf
# vi /var/opt/rh/rh-postgresql12/lib/pgsql/data/pg_hba.conf
以下の行をファイルに追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow host all all Satellite_ip/24 md5
host all all Satellite_ip/24 md5
PostgreSQL サービスを起動し、有効にするには、以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl start postgresql systemctl enable postgresql
# systemctl start postgresql # systemctl enable postgresql
外部 PostgreSQL サーバーで postgresql ポートを開きます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow firewall-cmd --add-service=postgresql firewall-cmd --runtime-to-permanent
# firewall-cmd --add-service=postgresql # firewall-cmd --runtime-to-permanent
postgres
ユーザーに切り替え、PostgreSQL クライアントを起動します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow su - postgres -c psql
$ su - postgres -c psql
3 つのデータベースと専用のロールを作成します。1 つは Satellite 用、1 つは Candlepin 用、もう 1 つは Pulp 用です。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CREATE USER "foreman" WITH PASSWORD 'Foreman_Password'; CREATE USER "candlepin" WITH PASSWORD 'Candlepin_Password'; CREATE USER "pulp" WITH PASSWORD 'Pulpcore_Password'; CREATE DATABASE foreman OWNER foreman; CREATE DATABASE candlepin OWNER candlepin; CREATE DATABASE pulpcore OWNER pulp;
CREATE USER "foreman" WITH PASSWORD 'Foreman_Password'; CREATE USER "candlepin" WITH PASSWORD 'Candlepin_Password'; CREATE USER "pulp" WITH PASSWORD 'Pulpcore_Password'; CREATE DATABASE foreman OWNER foreman; CREATE DATABASE candlepin OWNER candlepin; CREATE DATABASE pulpcore OWNER pulp;
postgres
ユーザーをログアウトします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow \q
# \q
Satellite Server から、データベースにアクセスできることをテストします。接続に成功した場合には、コマンドは
1
を返します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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"