postgresql主备之the database system is starting up

主备配置完成以后:启动slave出现下面问题:

FATAL: the database system is starting up

问题定位:
slave实例一直是备份模式并保持重放XLOG。
解决问题:
配置postgresql.conf;
hot_standby=on

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,您需要在两台服务器上安装Docker和Docker Compose。然后,您可以按照以下步骤在两台服务器上安装postgresql主备: 1. 在两台服务器上创建一个文件夹,用于存放docker-compose.yml文件和postgresql数据。 2. 创建docker-compose.yml文件,配置两个postgresql容器,并将它们连接成一个主备模式。下面是一个示例docker-compose.yml文件: ``` version: '3' services: master: image: postgres:latest restart: always environment: POSTGRES_PASSWORD: example volumes: - ./master_data:/var/lib/postgresql/data networks: - postgresql_network slave: image: postgres:latest restart: always environment: POSTGRES_PASSWORD: example POSTGRES_SLAVE: "true" POSTGRES_MASTER_HOST: master POSTGRES_MASTER_PORT: 5432 volumes: - ./slave_data:/var/lib/postgresql/data depends_on: - master networks: - postgresql_network networks: postgresql_network: ``` 在这个文件中,我们定义了两个postgresql容器,一个是主容器,另一个是备容器。主容器被命名为master,备容器被命名为slave。我们还定义了POSTGRES_SLAVE环境变量来指示备容器是从容器,并且必须连接到主容器。我们还定义了POSTGRES_MASTER_HOST和POSTGRES_MASTER_PORT环境变量来指定主容器的地址和端口。 3. 在两台服务器上运行以下命令,以启动postgresql容器: ``` docker-compose up -d ``` 这将启动两个容器,一个是主容器,另一个是备容器。 4. 配置主容器以允许从备容器复制数据。在主容器中的postgresql.conf文件中添加以下配置: ``` listen_addresses = '*' wal_level = replica max_wal_senders = 10 ``` 5. 配置备容器以连接到主容器并复制数据。在备容器中的recovery.conf文件中添加以下配置: ``` standby_mode = on primary_conninfo = 'host=master port=5432 user=postgres password=example' trigger_file = '/var/lib/postgresql/data/failover.trigger' ``` 这将使备容器连接到主容器并复制数据。如果主容器无法正常工作,则会在failover.trigger文件中创建一个标志文件,并且备容器将自动接管为主容器。 6. 在两台服务器上启动postgresql服务: ``` docker exec -it <container-name> /bin/bash service postgresql start ``` 在这里,<container-name>是您的postgresql容器名称。 现在您已经成功地安装了postgresql主备模式。您可以测试它是否正常工作,例如在主节点创建一个表,然后在备节点上查询该表是否存在。如果主节点无法正常工作,则备节点将自动接管并成为新的主节点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值