- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 PostgreSQL BDR 感到困惑,我有几个问题:
问题 1:BDR 真的是 PostgreSQL 的多主机吗?
根据 the docs here ,它说:
The BDR (Bi-Directional Replication) project adds multi-master replication to PostgreSQL 9.4
但是如果我阅读第二象限,我会阅读以下内容:
如果我读了那部分,他们根本没有提到多主机;光是“二当家,被动”,就说明不是真正的主人?
问题二:BDR是否开源?
我read here它是,至少它是:
BDR is the first open source multi-master replication system for PostgreSQL
还在吗?因为当我看的时候,我经常被引导到 2ndQuadrants 网页,这给我的印象是它不是开源的,当他们说:
How can you get Postgres-BDR?
Just fill out the contact form below and a PostgreSQL expert will be in touch shortly!
听起来像是卖给我=)
问题三:什么版本是什么?
我read that 2ndQuadrant released version今年3月份的1.0.5。我也是read on 2ndQuadrants webpage那个
In the complex environment of replication, the 3rd generation of BDR achieves...
第三代?版本 1.0.5 与第 3 代相同,还是其他版本?
另外,同一页说:
Note for current Postgres-BDR users: BDR 1.x will reach EOL in December 2019. Our team of PostgreSQL experts can help plan and execute your upgrade with minimal impact and almost zero downtime. Contact us today and a member of our professional services team will be in touch with you as soon as possible.
那么,1.0.5 是在 3 月份发布的,但是在 2019 年 12 月就已经 EOL 了吗? 2.x 不是开源的,因此需要一些许可费用,而 1.x 是 EOL 2019 吗?
最佳答案
BDR1 是开源的。 BDR2 不是。 BDR3 还没有,但应该在以后的某个阶段成为这样。
BDR 是真正的多主机。 “AlwaysOn Architecture”是 BDR 部署的简化模型,它使用具有快速故障转移功能的主用/备用,旨在保持与现有应用程序的更好兼容性,同时提高 HA 和稳健性。
因此 BDR 可以而且经常部署在完全多主机角色中,AlwaysOn 架构只是不以这种方式使用它。
PostgreSQL 9.4 的 BDR 1.x 系列(+BDR 补丁)是开源的。它将在 2019 年 12 月停产。它工作正常,但鉴于计划的停产,我不建议将它用于新部署。
BDR 2.x 系列(适用于 PostgreSQL 9.6)不是开源的,仅供 2ndQuadrant 客户使用。但是,它的一部分已经提交给 PostgreSQL 本身。它已被 BDR 3.x 取代。
现在进入生产阶段的 BDR 3.x 系列目前未开源,仅供 2ndQuadrant 客户使用。我的理解是它打算最终开源发布,但没有确定日期,我不能正式代表 2ndQuadrant 谈论这个。 BDR3 添加了更强大的节点通信模型、更好的冲突处理等等,而且它在 PostgreSQL 10 和 11 上运行。
我一直在鼓励相关人员就这些问题提供一些最新的官方指南。我现在为您提供的最新信息是 "News and Roadmap for BDR (Multi-master PostgreSQL)"在 2ndQuadrant 博客上。
关于PostgreSQL 和 BDR : Is BDR truly multi-master, 是 2019 年 1.x 的开源和 EOL 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51893065/
如何使用 ToggleButton 启用/禁用推送通知 示例: ToggleButton 禁用 (OFF) >>> 推送通知应该停止 ToggleButton 启用 (ON) >>> 推送通知 Sho
我有一个 div,它通过简单的转换将自身转换为: div{ transform: translate3d(0, -100%, 0); transition: all .5s; } div.ac
我尝试为静音/取消静音按钮创建一个开/关按钮: override func touchesEnded(touches: NSSet, withEvent event: UIEvent) {
我正在手动设置 Jest 。 我的 repo 结构: my-proj - src - components ... - accordion - index.jsx - t
我有一个这样的测试失败了,因为没有调用模拟,问题是模拟被调用但在测试完成之前。 test('should submit if proper values', () => { const spy =
目前我正在使用标准的 testRegex 逻辑来运行我的测试 "jest": { "moduleFileExtensions": [ "ts", "js"
目前我有这个测试: import toHoursMinutes from '../../../app/utils/toHoursMinutes'; describe('app.utils.toHour
使用Chai,您可以创建一个 spy 对象,如下所示: chai.spy.object([ 'push', 'pop' ]); 使用 Jasmine ,您可以使用: jasmine.createSpy
我正在编写一个 Jest 测试,其中我调用一个函数并期望返回一个对象,如下所示: const repository = container => { const makeBooking = (us
当我单独运行每个测试时,它们都成功了。但是当我通过 npm test 一起运行它们时第二个测试失败: Expected number of calls: 2 Received number of ca
我们最近将两个不同的 repos 迁移到一个 monorepo 中。每个都使用 jest 和自己的自定义配置,在他们自己的 package.json 文件中定义。 我想使用 --projects标志以
我试图模拟属性(property) tz和一个使用 jest 的函数,但我不知道将这两个东西一起模拟: 如果运行类似: jest.mock('moment-timezone', () => () =>
我正在尝试设置 Jest 来测试我的应用程序的发展。我收到以下错误: SyntaxError: Unexpected identifier > 1 | const screenSize = requi
我将 Jest 与 React-Native 结合使用,并且偶然发现了一个问题。 App.js 组件中的一小段代码导致 50:50 分支覆盖率: const storeMiddleware = __D
我在下面创建了一个 Jest 测试文件。但是没有创建该文件的快照。我的代码有什么问题? import React from 'react'; import Carousel from './compo
我正在尝试弄清楚如何更新单个快照文件。在文档中,它说只需添加 -t 并且我假设文件名,但这对我不起作用。 例如,在我使用的终端中。 jest -u -t test/js/tests/component
我是 JEST 新手,目前正在测试一个 Javascript 组件,该组件在其 onComponentDidMount 中进行 API 调用。根据 ajax 调用(api 调用)的返回数据,我的组件显
我正在尝试开玩笑地为我的 Web 组件项目编写测试。我已经在 es2015 预设中使用了 babel。我在加载 js 文件时遇到问题。我遵循了一段代码,其中 document对象有一个 current
我刚刚开始使用 jest,但有些事情我不太清楚。 例如,为什么要测试此功能: const liElement = object => `${object.title}`; 与: expect(liEl
我正在编写需要定义 window.location.href 的单元测试第一个单元测试创建如下 describe('myMethod()', () => { beforeEach(()
我是一名优秀的程序员,十分优秀!