1. 安装PostgreSQL主库;2. 修改主库配置文件;3. 创建replication用户;4. 重启主库服务;5. 在从库上安装PostgreSQL;6. 配置从库连接主库信息;7. 启动从库服务。
本地搭建VPS服务器和PostgreSQL本地Slave的步骤如下:
1、准备环境
安装操作系统(如Ubuntu、CentOS等)
安装VPS服务器软件(如OpenVZ、Xen、KVM等)
安装PostgreSQL数据库软件
2、VPS服务器配置
创建VPS虚拟机
配置网络参数(IP地址、子网掩码、网关等)
配置防火墙规则(开放数据库端口,如5432)
3、PostgreSQL主库配置
安装PostgreSQL数据库软件
修改配置文件(/etc/postgresql/<版本号>/main/postgresql.conf),设置以下参数:
max_connections = 100
shared_buffers = 128MB
work_mem = 64MB
maintenance_work_mem = 1GB
effective_cache_size = 2GB
wal_level = replica
max_wal_senders = 5
max_replication_slots = 10
track_commit_timestamp = on
重启PostgreSQL服务
4、PostgreSQL主库创建复制用户
登录PostgreSQL主库,使用管理员账户(如postgres)
创建复制用户,用于从库连接主库进行数据同步
```sql
CREATE USER repliuser REPLICATION PASSWORD 'yourpassword';
ALTER ROLE repliuser WITH REPLICATION;
```
授权复制用户访问所有数据库
```sql
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO repliuser;
GRANTCATE ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO repliuser;
```
退出主库数据库
5、PostgreSQL从库配置
在另一台计算机上安装PostgreSQL数据库软件,作为从库服务器
修改配置文件(/etc/postgresql/<版本号>/main/postgresql.conf),设置以下参数:
max_connections = 100
shared_buffers = 128MB
work_mem = 64MB
maintenance_work_mem = 1GB
effective_cache_size = 2GB
wal_level = replica
max_wal_receivers = 5
max_replication_slots = 10
hot_standby = on
重启PostgreSQL服务,使配置生效
6、PostgreSQL从库连接主库并创建复制槽位
登录PostgreSQL从库,使用管理员账户(如postgres)
连接到主库,获取主库的WAL文件位置和日志序列号等信息
```sql
SHOW MASTER_STATUS;
```
根据获取到的信息,创建一个复制槽位,用于主从数据同步
```sql
SELECT * FROM pg_create_physical_replication_slot('<复制槽位名称>', 'pgoutput');
```
启动从库的数据复制进程,开始与主库同步数据
```sql
RESET MASTER;
COPY <复制槽位名称> FROM '/path/to/master/data/dir'; 如果主库使用逻辑复制,请将路径替换为主库的数据目录;如果主库使用物理复制,请将路径替换为主库的WAL文件目录和日志序列号信息。
WAIT FOR RELICATION_SLAVE_TO_STOP; 确保从库完全停止数据复制进程后再继续操作。
CALL pg_drop_replication_slot('<复制槽位名称>'); 如果不再需要该复制槽位,可以删除它。
```
退出从库数据库,完成PostgreSQL从库的配置和搭建。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/525127.html