记录66666
为了在两台运行RHEL 8的服务器上配置PostgreSQL 14的主从架构,你需要按照以下步骤操作。这里,假设你有两台服务器,主服务器的IP为`192.168.1.100`,从服务器的IP为`192.168.1.101`。我们将设置数据目录为`/data/`,归档日志目录为`/home/archive`。
### 主服务器配置(IP: 192.168.1.100)
1. **安装PostgreSQL 14**:
参照之前的步骤安装PostgreSQL 14。
2. **初始化数据库**:
```bash
sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
```
3. **配置数据目录**:
参照之前的步骤配置数据目录到`/data/`。
4. **配置归档日志**:
参照之前的步骤配置归档日志目录到`/home/archive`。
5. **配置PostgreSQL以允许复制**:
- 编辑`/data/pg_hba.conf`,添加以下行以允许从服务器连接:
```
host replication postgres 192.168.1.101/32 trust
```
- 编辑`/data/postgresql.conf`,添加或修改以下配置:
```
listen_addresses = '*'
wal_level = replica
max_wal_senders = 3
archive_mode = on
archive_command = 'cp %p /home/archive/%f'
```
6. **重启PostgreSQL服务**:
```bash
sudo systemctl restart postgresql-14
```
### 从服务器配置(IP: 192.168.1.101)
1. **安装PostgreSQL 14**:
同样的步骤安装PostgreSQL 14。
2. **配置数据目录**:
创建并初始化`/data/`目录(但不要启动PostgreSQL服务)。
3. **基于主服务器的数据初始化从服务器**:
```bash
sudo systemctl stop postgresql-14
sudo su - postgres
pg_basebackup -h 192.168.1.100 -D /data -U postgres -P -R
exit
```
4. **配置从服务器的PostgreSQL**:
- 编辑`/data/postgresql.conf`,确保以下配置正确:
```
listen_addresses = '*'
hot_standby = on
```
5. **启动从服务器的PostgreSQL服务**:
```bash
sudo systemctl start postgresql-14
```
### 验证配置
1. **在主服务器上创建一个测试数据库**,然后检查是否在从服务器上同步。
2. **检查从服务器的日志文件**,确认正在接收来自主服务器的数据。
### 注意事项
- 确保两台服务器之间的网络通畅,特别是对于PostgreSQL使用的端口(默认是5432)。
- 根据你的具体需求和环境,可能需要调整一些安全设置,比如使用密码认证代替`trust`认证。
- 定期检查归档日志和复制状态,确保系统正常运行。
- 对于生产环境,你可能需要考虑更复杂的备份和故障转移策略。
这是一个基本的主从配置示例。根据你的具体需求,可能需要进一步的优化和调整。