2. 安装 PostgreSQL
应在所有 PostgreSQL 节点上执行所有 PostgreSQL 安装步骤。
在 RHEL 上安装 Postgres
步骤 1
请参阅 https://www.postgresql.org/download/linux/redhat/ 以查找并下载 PostgreSQL 10 的最新副版本。应对以下 yum 命令中引用的 rpm 进行相应修改。
sudo yum install
https://download.postgresql.org/pub/repos/yum/10.x/redhat/rhel-7-
x86_64/pgdg-redhat94-9.4-3.noarch.rpm
sudo yum install postgresql10.x-server postgresql10.x-contrib
步骤 2
生产数据库文件通常存储在非 OS 磁盘或共享文件服务上。在本示例中,/db 文件夹即为此存储位置。
在每个 PostgreSQL 节点上创建以下文件夹位置。
* 
本示例提供的脚本中引用了 /db/postgres 位置。修改文件夹位置同样需要更新脚本。
sudo mkdir /db
sudo mkdir /db/postgres
sudo mkdir /db/thingworx
sudo mkdir /db/install
sudo mkdir /db/bin
sudo chown -R postgres:postgres /db
在本示例的 文件共享部分中,创建先前提到的三个存档文件夹,并确保所有 PostgreSQL 节点均可访问其中内容。
/db/node0archive
/db/node1archive
/db/node2archive
步骤 3
正如先前在 数据库文件夹设置中所述,PostgreSQL 数据库将位于每个 PostgreSQL 节点的 /db/postgres 下。
在初始化数据库之前,需要先将 postgres 用户配置文件调整到新位置。
sudo su postgres
vim ~/.bash_profile
~/.bash_profile 的示例
[ -f /etc/profile ] && source /etc/profile
PGDATA=/db/postgres
export PGDATA
PATH=$PATH:/usr/pgsql-10.x/bin
export PATH
# If you want to customize your settings,
# Use the file below. This is not overridden
# by the RPMS.
[ -f /var/lib/pgsql/.pgsql_profile ] && source
/var/lib/pgsql/.pgsql_profile
编辑完成后,执行更改:
source ~/.bash_profile
初始化数据库:
/usr/pgsql-10.x/bin/initdb -D /db/postgres
步骤 4
返回到具有 sudo 权限的用户,并修改 PostgreSQL 服务中的 PGDATA 参数。
编辑 postgresql-10.x.service 文件
sudo vi /usr/lib/systemd/system/postgresql-10.x.service
以包含新的 PGDATA 参数值。
# Location of database directory
#Environment=PGDATA=/var/lib/pgsql/10.x/data/
Environment=PGDATA=/db/postgres
然后重新加载、启用和启动服务。
sudo systemctl reload
sudo systemctl enable postgresql-10.x.service
sudo systemctl start postgresql-10.x
步骤 5
验证 init 安装:
sudo su postgres
psql
使用显示 data_directory 的命令以确保已正确安装默认数据库。
postgres=# show data_directory;
data_directory
----------------
/db/postgres
(1 row)