标签: archive-log

postgres:什么是archive_command 以及何时使用它

我有一个主/从 postgresql 配置,其中从属是热备用,用作只读备份。目前,archive_command 设置为“cd”。(我读过的空话)。我的理解是archive_command可以将wal段复制到特定位置;通常我会看到使用 cp 命令将其复制到磁盘其他位置的示例。我将 wal_keep_segments 设置为 256,所以如果我理解正确的话,slave 可能会落后 wal 大约 4GB (16MB * 256) 的变化。这可能是为什么我从来不需要使用 archive_command 的原因,因为我有足够的 wal 段来解决一些滞后问题?

那么可选的 archive_command 的目的是为了保存比 wal_keep_segments 设置更多的 wal 段吗?因此,在我的情况下,数据库目录 (pg_xlog) 中将有 256 个 wal 段,并且 postgres 会在达到限制时自动轮换并清理这些 wal 段。

而且,如果我放置了一个 archive_command,它是否会继续将 wal 段保存到命令将文件复制到的任何位置(并继续添加越来越多的存档 wal 段,除非我添加了自己的清理过程)?这种想法正确吗?

那么,假设我对 archive_command 的理解是正确的,从站如何利用这些 wal 文件?从站是否首先尝试从主数据目录中检索 256 个 wal 文件,然后返回到 recovery_command 以检索早于此的 wal 文件?recovery_command 是在从站上运行还是以某种方式通过主站代理?recovery_command 的许多示例都显示它与 cp 一起使用,所以我不确定文件是如何传输到不同服务器的?

我已经尝试阅读许多关于此的指南,包括以下内容。
我什么时候必须使用 archive_command,什么时候不用 https://www.postgresql.org/docs/current/static/continuous-archiving.html

我对这些概念仍然有点模糊,并试图达到一些清晰度。有人可以澄清我上面的想法是否正确以及为什么我可以使用 archive_command 吗?谢谢阅读。

这是我的配置:

大师:postgresql.conf

listen_addresses = '*' 

wal_level = hot_standby
archive_mode = on 
max_wal_senders …
Run Code Online (Sandbox Code Playgroud)

postgresql replication backup archive-log

7
推荐指数
1
解决办法
9130
查看次数

这个 SQL 请求什么时候产生结果?

我正在开发一个 SQL Server 数据库,其中包含订单和执行这些订单的机器。一台机器不能同时分配多个有效订单。换句话说:这个 SQL 请求永远不会产生结果:

SELECT MachineId
  FROM Orders
  WHERE (Orders.Status=1)
  GROUP BY MachineId
  HAVING COUNT(Id)>1
Run Code Online (Sandbox Code Playgroud)

我在 Microsoft SQL Server Management Studio 环境中打开此 SQL 请求,每次按 时F5,我确实看不到任何结果。

但是,我确信 SQL 查询有时确实会产生结果,并且我对那些时间以及当时查询的结果很感兴趣。

有人知道我如何找到这个吗?(“archive-log”标签只是一个想法)

提前致谢

sql-server scheduled-tasks archive-log

7
推荐指数
2
解决办法
1632
查看次数

Oracle 12c 多租户 PDB 中的 ARCHIVELOG

在具有多个 PDB 的 Oracle 12c 多租户数据库实例中,是否可以ARCHIVELOG在单个 PDB 上启用模式?

oracle multi-tenant oracle-12c archive-log

6
推荐指数
1
解决办法
6003
查看次数

如果 archive_mode 关闭,Postgres 是否会自动旋转 WAL 文件(pg_xlog)?

我对 PostgreSQL 管理还比较陌生,我正在尝试了解具体的细节。我的问题是,假设我不需要灾难恢复并且我没有通过设置打开归档archive_mode = on,Postgres 是否有内部机制可以将 WAL 文件轮换出来pg_xlog?如果有,频率是多少?

稍微不同的是,设置archive_mode = on但不配置archive_command- 是否存在 Postgres 将尝试存档到的默认位置?

postgresql transaction-log postgresql-9.6 archive-log

5
推荐指数
1
解决办法
5566
查看次数