5.3. 安装 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 请注意,需要调整外部 PostgreSQL 的默认配置,才能使用 Satellite。以下是推荐进行的外部数据库配置调整:
- 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 创建三个数据库和专用角色:一个用于 Satellite,一个用于 Candlepin,一个用于 Pulp:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 退出
postgres
用户:\q
# \q
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 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"
# 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