溫馨提示×

如何在Ubuntu上配置PostgreSQL復制

小樊
45
2025-09-21 09:09:48
欄目: 云計算

在Ubuntu上配置PostgreSQL復制涉及幾個步驟,包括設置主服務器和從服務器。以下是一個基本的指南:

主服務器配置

  1. 安裝PostgreSQL

    sudo apt update
    sudo apt install postgresql postgresql-contrib
    
  2. 配置postgresql.conf 編輯主服務器的postgresql.conf文件(通常位于/etc/postgresql/<version>/main/):

    sudo nano /etc/postgresql/<version>/main/postgresql.conf
    

    找到并修改以下參數:

    listen_addresses = '*'  # 允許所有IP連接
    wal_level = replica      # 設置為replica以支持流復制
    max_wal_senders = 10     # 最大WAL發送者數量
    wal_keep_segments = 64   # 保留的WAL段數量
    
  3. 配置pg_hba.conf 編輯pg_hba.conf文件以允許從服務器連接:

    sudo nano /etc/postgresql/<version>/main/pg_hba.conf
    

    添加以下行以允許從服務器連接:

    host    replication     replicator     <從服務器IP>/32    md5
    
  4. 重啟PostgreSQL服務

    sudo systemctl restart postgresql
    
  5. 創建復制用戶 在主服務器上創建一個用于復制的用戶:

    CREATE ROLE replicator WITH REPLICATION PASSWORD 'your_password' LOGIN;
    
  6. 獲取主服務器的LSN(Log Sequence Number) 連接到主服務器并獲取當前的LSN:

    sudo -u postgres psql
    SELECT pg_current_wal_lsn();
    

從服務器配置

  1. 安裝PostgreSQL 確保從服務器上也安裝了PostgreSQL。

  2. 配置postgresql.conf 編輯從服務器的postgresql.conf文件:

    sudo nano /etc/postgresql/<version>/main/postgresql.conf
    

    找到并修改以下參數:

    listen_addresses = '*'  # 允許所有IP連接
    hot_standby = on       # 啟用熱備模式
    
  3. 配置recovery.conf 在從服務器上創建或編輯recovery.conf文件(通常位于/var/lib/postgresql/<version>/main/):

    sudo nano /var/lib/postgresql/<version>/main/recovery.conf
    

    添加以下內容:

    standby_mode = 'on'
    primary_conninfo = 'host=<主服務器IP> dbname=postgres user=replicator password=your_password'
    restore_command = 'cp /var/lib/postgresql/wal_archive/%f %p'
    trigger_file = '/tmp/postgresql.trigger.5432'
    
  4. 重啟PostgreSQL服務

    sudo systemctl restart postgresql
    

驗證復制

  1. 檢查主服務器狀態 在主服務器上運行:

    SELECT * FROM pg_stat_replication;
    
  2. 檢查從服務器狀態 在從服務器上運行:

    SELECT * FROM pg_stat_replication;
    

如果一切配置正確,你應該能夠看到從服務器正在接收來自主服務器的數據。

注意事項

  • 確保防火墻允許PostgreSQL端口(默認是5432)的流量。
  • 定期檢查復制狀態,并處理任何錯誤。
  • 根據實際需求調整配置參數。

通過以上步驟,你應該能夠在Ubuntu上成功配置PostgreSQL復制。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女