如何在CentOS上配置PostgreSQL的复制
导读:在CentOS上配置PostgreSQL的复制可以通过以下步骤完成。这里我们假设你有一个主服务器(Master)和一个从服务器(Slave)。主服务器将用于写入操作,而从服务器将用于读取操作。 步骤1:准备主服务器 安装PostgreS...
在CentOS上配置PostgreSQL的复制可以通过以下步骤完成。这里我们假设你有一个主服务器(Master)和一个从服务器(Slave)。主服务器将用于写入操作,而从服务器将用于读取操作。
步骤1:准备主服务器
-
安装PostgreSQL:
sudo yum install postgresql-server -
初始化数据库:
sudo postgresql-setup initdb -
启动并启用PostgreSQL服务:
sudo systemctl start postgresql sudo systemctl enable postgresql -
创建复制用户: 以
postgres用户登录到PostgreSQL:sudo -u postgres psql在psql shell中,创建一个用于复制的用户并授予权限:
CREATE USER replicator WITH REPLICATION PASSWORD 'your_password' LOGIN; GRANT ALL PRIVILEGES ON DATABASE your_database TO replicator; -
配置主服务器: 编辑主服务器的
postgresql.conf文件:sudo vi /var/lib/pgsql/data/postgresql.conf找到并修改以下参数:
wal_level = replica max_wal_senders = 10 wal_keep_segments = 64 hot_standby = on然后编辑
pg_hba.conf文件:sudo vi /var/lib/pgsql/data/pg_hba.conf添加以下行以允许从服务器连接:
host replication replicator 192.168.1.100/32 md5其中
192.168.1.100是从服务器的IP地址。 -
重启主服务器:
sudo systemctl restart postgresql
步骤2:准备从服务器
-
安装PostgreSQL:
sudo yum install postgresql-server -
初始化数据库:
sudo postgresql-setup initdb -
启动并启用PostgreSQL服务:
sudo systemctl start postgresql sudo systemctl enable postgresql -
停止从服务器的PostgreSQL服务:
sudo systemctl stop postgresql -
配置从服务器: 编辑从服务器的
postgresql.conf文件:sudo vi /var/lib/pgsql/data/postgresql.conf找到并修改以下参数:
hot_standby = on然后编辑
recovery.conf文件(如果不存在则创建):sudo vi /var/lib/pgsql/data/recovery.conf添加以下内容:
standby_mode = 'on' primary_conninfo = 'host=master_ip port=5432 user=replicator password=your_password' restore_command = 'cp /var/lib/pg_repl/wal_archive/%f %p' trigger_file = '/tmp/postgresql.trigger.5432' -
启动从服务器:
sudo systemctl start postgresql
步骤3:验证复制
-
在主服务器上创建一个测试数据库:
sudo -u postgres psql CREATE DATABASE test_db; -
在从服务器上检查数据库:
sudo -u postgres psql \l你应该能看到
test_db数据库。
通过以上步骤,你已经成功在CentOS上配置了PostgreSQL的主从复制。主服务器将处理写入操作,而从服务器将处理读取操作,从而实现负载均衡和高可用性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在CentOS上配置PostgreSQL的复制
本文地址: https://pptw.com/jishu/734183.html
