标签: replication

我什么时候可以清理存档的 WAL 文件?

我需要一些帮助来了解如何使用存档的 WAL 文件以及何时可以清理它们。

目前我们有一个主数据库复制到从属数据库,但我们的主数据库服务器经常会因为使用archive_commandbuild up归档的文件而耗尽磁盘空间,我们必须手动删除它们。如果我们必须手动删除旧的存档 WAL 文件,我觉得我们错过了一些东西,因为文件系统磁盘空间不足...

话虽如此,我不确定我对复制过程的了解足以开始删除文件并确信我没有搞砸任何事情。我们的从站是使用由创建的归档文件archive_command还是仅依赖$PG_DATA/pg_xlog目录中的文件来与主站保持一致的状态?

如果是这种情况,并且我们pg_dump每六个小时做一次我们的主,我是否可以更新我们的备份脚本以清除开始时存在的所有存档文件pg_dumppg_dump当然一旦完成)?从文档:

注意:pg_dump 和 pg_dumpall 不生成文件系统级备份,不能用作连续归档解决方案的一部分。此类转储是合乎逻辑的,并且不包含 WAL 重放所需的足够信息。

我只想确保无论我们如何清理存档文件,我们仍然拥有继续复制所需的内容,并且能够自上次基本备份以来执行 PITR。

我们的存档命令是cp %p /var/lib/postgresql/9.2/archive/%f,这里是我们recovery.conf从奴隶的文件:

standby_mode = 'on'
primary_conninfo = 'host=<ip-address> port=<port> user=rep password=<password> sslmode=require'
trigger_file = '/tmp/postgresql.trigger.5432'
Run Code Online (Sandbox Code Playgroud)

postgresql replication postgresql-9.2

3
推荐指数
1
解决办法
1万
查看次数

数据库:一张表或多张

我正在做一个分类广告网站的项目。

我有 12 个主要类别,它们的项目是 142,例如车辆有汽车、踏板车、自行车等。手机 手机有手机、平板电脑、配件。

现在我应该使用几个表并使用 Json 吗?

或者我应该为每个项目创建单独的表格(142 个表格)?

目前,我已经决定使用 142 个表来避免关系和连接以及繁重的编码。

哪种方式是正确的或建议另一种方式。优缺点都有什么 ?我搜索了很多,但没有得到任何可以回答我的问题的东西。

replication database-design database-recommendation relations

3
推荐指数
2
解决办法
1171
查看次数

3
推荐指数
1
解决办法
6491
查看次数

MySQL 复制停止超过 10 天,expire_logs_days=10 时复制是否可以正常工作?

我对复制的工作原理一无所知。这是我的场景。

今天(4 月 6 日)我意识到我们的复制从站在 3 月 20 日出现了一个失败的“CREATE USER”命令导致的错误。此后,没有发生复制。

这会留下六天左右的时间间隔,expire_logs_days主服务器上的日志会过期,而从服务器不会进行复制。

我能够跳过错误并再次进行复制。这一切都赶上了SHOW SLAVE STATUS\G.

除了“抽查”之外,如何检查是否正确复制了内容?例如,主/从上的帖子数量相同,这令人鼓舞。

但是,例如,当我在每个数据库上运行此查询时,我没有得到相同的答案:

select count(*) from table where datestamp >= '2016-03-24 00:00:00' AND datestamp <= '2016-03-24 23:59:59';

我是否应该担心数据丢失/不正确?数据库之间的时间戳会关闭是否有原因?

我不想重新设置复制,但我准备这样做。

谢谢你。

mysql replication

3
推荐指数
1
解决办法
172
查看次数

监控流复制

我们正在设置一个主站和一个(只读)从站的流式复制。我们现在正在寻找一种方法来监控复制;主要是为了验证从服务器是否仍然是最新的。

是否有可能做到这一点——最好是从奴隶?如果是这样,如何?

关于流式复制文档提到了以下内容:

在支持 keepalive 套接字选项的系统上,设置tcp_keepalives_idletcp_keepalives_intervaltcp_keepalives_count有助于主节点及时发现连接断开。

在这种情况下,“及时通知”是什么意思?是否有一些错误日志报告连接断开?

postgresql replication monitoring

3
推荐指数
1
解决办法
1521
查看次数

Msrel_commands 表有 20M 行

我正在拼命寻找一些逻辑或脚本来检查命令,msrepl_commands其中已经移动到订阅者但尚未删除的命令数量。

我正在手动运行该程序:

EXEC dbo.sp_MSdistribution_cleanup @min_distretention = 0, @max_distretention = 72
Run Code Online (Sandbox Code Playgroud)

但它没有删除任何行,即使我检查msrepl_commands并发现有 20M 行都出现在 2016-08-30 00:01:00 AM 和 2016-08-31 09:00:00 AM 之间,但是如果我运行分发清理然后它应该在循环中删除前 10K,直到行数达到 2000。

我对如何检查那些传递的命令感到有些困惑(msdistribution_status给了我分散的和未分散的命令,但这是累积的,我需要当前状态)。

replication sql-server sql-server-2014

3
推荐指数
1
解决办法
1107
查看次数

MySQL 复制查询 - 需要主键

我对 MySQL 复制(主从)几乎没有怀疑。表是否必须具有用于复制的主查询才能正常运行?

参考上面问题的这个 Percona 链接,因为它提到如果没有定义主键或唯一键,那么情况更糟,因为 INSERT 可能会被重新执行,并且您将获得具有相同数据的多行 – 这再次意味着您已经得到与主人不一致的数据

但是使用 InnoDB 作为存储引擎,如果表没有定义主查询或唯一查询,引擎本身会根据Jeremy Cole 的博客在包含行 ID 值的合成列上创建隐藏的聚集索引

因此,即使在主要或唯一不存在的情况下,复制也不应该有任何影响,它本身会创建一个聚集索引,以确保复制顺利进行,对吗?我不确定这部分。

如果有人可以了解主从复制设置中主键的需求,那就太好了。

mysql replication primary-key percona mysql-5.6

3
推荐指数
1
解决办法
1755
查看次数

SQL Server 2016 Standard Edition 是否包括复制?

我试图在 SQL Server 2016 SP1 标准版的实例上创建分发数据库。

我收到一个错误,提示未安装 SQL Server 的复制组件。我们最近将我们的服务器从 SQL Server 2012 升级到了 2016,我们之前曾测试过复制到开发机器。

我突然想到,没有安装复制组件的原因是我们可能没有为它们付费。查看此处找到的许可指南,我找不到有关复制的具体信息 - 要么是因为它包含在基本 SQL Server 应用程序中,要么属于某些通用产品名称(如“企业数据管理”)或其他名称。

问题:

  1. SQL Server 2016 Standard Edition 是否包括复制?
  2. 分发服务器是否算作单独的 SQL Server 实例并需要自己的许可证?
  3. 如果我们将其用作测试“开发”场地,我们是否仍需要购买许可证以从生产复制到开发,并将分发服务器托管在同一台开发机器上?

replication sql-server license sql-server-2016

3
推荐指数
1
解决办法
1万
查看次数

sync_binlog 的意义是什么?

有什么意义sync_binlog

如果我设置,究竟会发生什么sync_binlog=1

它如何影响master和slave之间的复制?

mysql replication binlog

3
推荐指数
1
解决办法
6151
查看次数

Linux 上 SQL Server 2017 中的复制功能

我们有一个在生产中使用 SQL-Server 2014 的正在运行的生产。它在多个数据中心运行复制和部分订阅者。我有一个要求在 Linux 上评估 SQL Server 2017,以便它可以为在 Linux 上运行的新应用程序提供服务。问题是它也应该是订阅者,而且微软似乎还没有在开发中进行复制。

有人已经以任何方式处理过这个复制问题吗?

Linux 上的 SQL Server 是否支持复制?

我打开了一个连接,也许你们中的一些人会投票支持它。

提前致谢

replication sql-server linux sql-server-2017

3
推荐指数
1
解决办法
2369
查看次数