4.3. 安装 PostgreSQL
您只能在内部数据库安装过程中安装 satellite-installer
工具安装的相同版本的 PostgreSQL。Satellite 支持 PostgreSQL 版本 12。
流程
要安装 PostgreSQL,请输入以下命令:
# dnf install postgresql-server postgresql-evr postgresql-contrib
要初始化 PostgreSQL,请输入以下命令:
# postgresql-setup initdb
编辑
/var/lib/pgsql/data/postgresql.conf
文件:# vi /var/lib/pgsql/data/postgresql.conf
请注意,需要调整外部 PostgreSQL 的默认配置,才能使用 Satellite。基本推荐的外部数据库配置调整如下:
- checkpoint_completion_target: 0.9
- max_connections: 500
- shared_buffers: 512MB
- work_mem: 4MB
删除
#
并编辑以侦听入站连接:listen_addresses = '*'
在文件末尾添加以下行以使用 SCRAM 进行身份验证:
password_encryption=scram-sha-256
编辑
/var/lib/pgsql/data/pg_hba.conf
文件:# vi /var/lib/pgsql/data/pg_hba.conf
在文件中添加以下行:
host all all Satellite_ip/32 scram-sha-256
要启动并启用 PostgreSQL 服务,请输入以下命令:
# systemctl enable --now postgresql
在外部 PostgreSQL 服务器上打开 postgresql 端口:
# firewall-cmd --add-service=postgresql
使更改持久:
# firewall-cmd --runtime-to-permanent
切换到
postgres
用户并启动 PostgreSQL 客户端:$ su - postgres -c psql
创建三个数据库和专用角色:一个用于 Satellite,一个用于 Candlepin,另一个用于 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;
连接到 Pulp 数据库:
postgres=# \c pulpcore You are now connected to database "pulpcore" as user "postgres".
创建
hstore
扩展:pulpcore=# CREATE EXTENSION IF NOT EXISTS "hstore"; CREATE EXTENSION
退出
postgres
用户:# \q
在 Satellite 服务器中,测试您可以访问数据库。如果连接成功,命令会返回
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"