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

如何在CentOS上配置PostgreSQL的复制

时间2025-10-24 08:08:04发布访客分类主机资讯浏览398
导读:在CentOS上配置PostgreSQL的复制可以通过以下步骤完成。这里我们假设你有一个主服务器(Master)和一个从服务器(Slave)。主服务器将用于写入操作,而从服务器将用于读取操作。 步骤1:准备主服务器 安装PostgreS...

在CentOS上配置PostgreSQL的复制可以通过以下步骤完成。这里我们假设你有一个主服务器(Master)和一个从服务器(Slave)。主服务器将用于写入操作,而从服务器将用于读取操作。

步骤1:准备主服务器

  1. 安装PostgreSQL

    sudo yum install postgresql-server
    
  2. 初始化数据库

    sudo postgresql-setup initdb
    
  3. 启动并启用PostgreSQL服务

    sudo systemctl start postgresql
    sudo systemctl enable postgresql
    
  4. 创建复制用户: 以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;
        
    
  5. 配置主服务器: 编辑主服务器的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地址。

  6. 重启主服务器

    sudo systemctl restart postgresql
    

步骤2:准备从服务器

  1. 安装PostgreSQL

    sudo yum install postgresql-server
    
  2. 初始化数据库

    sudo postgresql-setup initdb
    
  3. 启动并启用PostgreSQL服务

    sudo systemctl start postgresql
    sudo systemctl enable postgresql
    
  4. 停止从服务器的PostgreSQL服务

    sudo systemctl stop postgresql
    
  5. 配置从服务器: 编辑从服务器的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'
    
  6. 启动从服务器

    sudo systemctl start postgresql
    

步骤3:验证复制

  1. 在主服务器上创建一个测试数据库

    sudo -u postgres psql
    CREATE DATABASE test_db;
        
    
  2. 在从服务器上检查数据库

    sudo -u postgres psql
    \l
    

    你应该能看到test_db数据库。

通过以上步骤,你已经成功在CentOS上配置了PostgreSQL的主从复制。主服务器将处理写入操作,而从服务器将处理读取操作,从而实现负载均衡和高可用性。

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


若转载请注明出处: 如何在CentOS上配置PostgreSQL的复制
本文地址: https://pptw.com/jishu/734183.html
CentOS上HBase如何配置防火墙 HBase集群扩容在CentOS上如何进行

游客 回复需填写必要信息