首页主机资讯如何在CentOS中配置PostgreSQL的复制功能

如何在CentOS中配置PostgreSQL的复制功能

时间2025-11-28 11:54:03发布访客分类主机资讯浏览1337
导读:在CentOS中配置PostgreSQL的复制功能,可以按照以下步骤进行: 1. 安装PostgreSQL 首先,确保你已经在CentOS上安装了PostgreSQL。如果没有安装,可以使用以下命令进行安装: sudo yum instal...

在CentOS中配置PostgreSQL的复制功能,可以按照以下步骤进行:

1. 安装PostgreSQL

首先,确保你已经在CentOS上安装了PostgreSQL。如果没有安装,可以使用以下命令进行安装:

sudo yum install postgresql-server postgresql-contrib

2. 初始化数据库集群

如果你是第一次安装PostgreSQL,需要初始化数据库集群:

sudo postgresql-setup --initdb

3. 启动和启用PostgreSQL服务

启动PostgreSQL服务并设置为开机自启动:

sudo systemctl start postgresql
sudo systemctl enable postgresql

4. 创建复制用户

在主服务器上创建一个用于复制的用户,并授予必要的权限:

sudo -u postgres psql

在psql命令行中执行以下SQL语句:

CREATE USER replicator WITH REPLICATION PASSWORD 'your_password' LOGIN;
    
ALTER USER replicator CREATEDB;
    

5. 配置主服务器

编辑主服务器的postgresql.conf文件,通常位于/var/lib/pgsql/data/目录下:

sudo vi /var/lib/pgsql/data/postgresql.conf

找到并修改以下参数:

wal_level = replica
max_wal_senders = 10
wal_keep_segments = 64
hot_standby = on

保存并退出编辑器。

6. 配置pg_hba.conf

编辑pg_hba.conf文件,通常也位于/var/lib/pgsql/data/目录下:

sudo vi /var/lib/pgsql/data/pg_hba.conf

添加以下行以允许从备服务器进行连接:

host    replication     replicator     192.168.1.100/32    md5

192.168.1.100替换为备服务器的IP地址。

保存并退出编辑器。

7. 重启主服务器

重启PostgreSQL服务以应用更改:

sudo systemctl restart postgresql

8. 配置备服务器

在备服务器上,停止PostgreSQL服务:

sudo systemctl stop postgresql

创建一个数据目录并初始化:

sudo mkdir /var/lib/pgsql/data
sudo chown postgres:postgres /var/lib/pgsql/data
sudo su - postgres
initdb -D /var/lib/pgsql/data

退出psql命令行。

9. 配置备服务器的postgresql.conf

编辑备服务器的postgresql.conf文件:

sudo vi /var/lib/pgsql/data/postgresql.conf

找到并修改以下参数:

hot_standby = on

保存并退出编辑器。

10. 配置备服务器的recovery.conf

创建或编辑recovery.conf文件:

sudo vi /var/lib/pgsql/data/recovery.conf

添加以下内容:

standby_mode = 'on'
primary_conninfo = 'host=192.168.1.101 dbname=postgres user=replicator password=your_password'
restore_command = 'cp /var/lib/pg_repl/wal_archive/%f %p'

192.168.1.101替换为主服务器的IP地址。

保存并退出编辑器。

11. 启动备服务器

启动PostgreSQL服务:

sudo systemctl start postgresql

12. 验证复制状态

在主服务器上,检查复制状态:

sudo -u postgres psql
SELECT * FROM pg_stat_replication;
    

你应该能看到备服务器的连接信息。

通过以上步骤,你就可以在CentOS上配置PostgreSQL的主从复制功能了。如果有任何问题,请检查日志文件以获取更多信息。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何在CentOS中配置PostgreSQL的复制功能
本文地址: https://pptw.com/jishu/758879.html
如何在CentOS中调整PostgreSQL的内存设置 PostgreSQL在CentOS中的版本选择建议

游客 回复需填写必要信息