【问题标题】:Run PostgreSQL streaming replication synchronous and asynchronous simultaneously同时运行 PostgreSQL 流复制同步和异步
【发布时间】:2023-01-31 19:43:55
【问题描述】:

我使用 PostgreSQL 14 和 ubuntu 作为我的操作系统。

  • 我已经在同步模式下完成了数据库复制
  • 现在我想添加另一个服务器和primary 和 new_standby 之间的关系节点将是异步.
  • 另一个问题,不同节点如何设置application_name?我有同样的application_name=14/主要对于我的两个备用服务器

谁能帮我解决这些问题?

【问题讨论】:

    标签: postgresql asynchronous streaming replication synchronous


    【解决方案1】:

    是的,您可以同时运行它。

    您应该在主节点中具有此配置:

    listen_addresses = '*'
    port = 5432
    wal_level = hot_standby
    max_wal_senders = 16
    wal_keep_segments = 32
    synchronous_commit = on
    synchronous_standby_names = 'pgsql_0_node_0'
    

    重新启动节点以进行更改:

    $ systemctl restart postgresql-14
    

    创建复制角色:

    $ CREATE ROLE replication_user WITH LOGIN PASSWORD 'PASSWORD' REPLICATION;
    

    并在您的备用节点中进行配置:

    两个都:

    wal_level = hot_standby
    hot_standby = on
    

    同步:

    standby_mode = 'on'
    promote_trigger_file='/tmp/failover_5432.trigger'
    recovery_target_timeline=latest
    primary_conninfo='application_name=pgsql_0_node_0 host=PRIMARY_NODE port=5432 user=replication_user password=PASSWORD'
    

    用正确的值替换 PRIMARY_NODE、用户和密码。

    异步:

    promote_trigger_file='/tmp/failover_5432.trigger'
    recovery_target_timeline=latest
    primary_conninfo='application_name=pgsql_0_node_1 host=PRIMARY_NODE port=5432 user=replication_user password=PASSWORD'
    

    用正确的值替换 PRIMARY_NODE、用户和密码。

    重新启动节点以进行更改:

    $ systemctl restart postgresql-14
    

    然后,您可以在主节点中运行此命令以查看复制节点:

    $ SELECT pid,usename,application_name,state,sync_state FROM pg_stat_replication;
    
      pid  |     usename      | application_name |   state   | sync_state
    -------+------------------+------------------+-----------+------------
     10951 | replication_user | pgsql_0_node_1   | streaming | async
     10952 | replication_user | pgsql_0_node_0   | streaming | sync
    (2 rows)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-23
      • 1970-01-01
      • 1970-01-01
      • 2021-07-13
      • 2021-05-07
      • 1970-01-01
      • 2021-10-20
      相关资源
      最近更新 更多