当前位置:首页 > 科技  > 软件

压力很大吗?可以考虑移动下 WAL 日志目录

来源: 责编: 时间:2024-05-09 09:28:33 246观看
导读每个提交的事务都会记录 WAL,以确保持久性。这可确保您的 PostgreSQL 实例可以执行崩溃恢复,并避免丢失任何已提交的事务。当 full_page_writes 设置为 ON 时,PostgreSQL 会将每个磁盘页面的全部内容以及行级更改写入 WA

每个提交的事务都会记录 WAL,以确保持久性。这可确保您的 PostgreSQL 实例可以执行崩溃恢复,并避免丢失任何已提交的事务。当 full_page_writes 设置为 ON 时,PostgreSQL 会将每个磁盘页面的全部内容以及行级更改写入 WAL。这对于安全的崩溃恢复非常重要。但是,这可能会将更多数据写入 WAL。Far28资讯网——每日最新资讯28at.com

将 WAL 写入和包含表/索引的数据目录相同的磁盘,可能会给繁忙的事务数据库带来 I/O 瓶颈。因此,如果您观察到有大量 WAL 生成(由于大量 DML)导致服务器中的 I/O 等待,我们始终建议您将 WAL 目录移动到一个新的磁盘。Far28资讯网——每日最新资讯28at.com

准备工作

要将 WAL 移动到一个其他目录,我们必须重新启动 PostgreSQL 服务器。这可能会导致停机,因此需要适当规划。此外,请确保在新的 pg_wal 目录中规划有足够的存储空间,用于存储启用复制槽时给备用数据库应用的所有 WAL 段。我们必须这样做,因为当使用复制槽时,尚未确认为备用数据库已应用的 WAL 段,不会从主数据库的 pg_wal 目录中删除。如果长时间未注意到这种情况,这可能会累积多个 GB 的 WAL 段。Far28资讯网——每日最新资讯28at.com

操作步骤

以下步骤可用于将 pg_wal 移动到新位置:Far28资讯网——每日最新资讯28at.com

1. 在新磁盘上创建一个新目录,并将所有权分配给 Postgres:Far28资讯网——每日最新资讯28at.com

# mkdir -p /wals# chown postgres:postgres /wals

2. 停止 PostgreSQL 实例(如果该实例已在运行):Far28资讯网——每日最新资讯28at.com

$ pg_ctl -D $PGDATA stop -mf

3. 如果您想避免由于大量 WAL 而导致的更长停机时间,请跳过步骤 2 继续执行步骤 3b。否则,请继续执行步骤 3a:Far28资讯网——每日最新资讯28at.com

3a. 将 pg_wal 中的所有现有 WAL 和 archive_status 目录,移动到另一个磁盘上的新目录。确保 pg_wal 为空,并且所有内容都移动到了新目录:Far28资讯网——每日最新资讯28at.com

$ mv $PGDATA/pg_wal/* /wals

3b. 使用 rsync 避免在将大量 WAL 段复制到其他磁盘时出现超长的停机时间:Far28资讯网——每日最新资讯28at.com

$ rsync -avzh $PGDATA/pg_wal/ /wals$ pg_ctl -D $PGDATA stop -mf$ rsync -avzh $PGDATA/pg_wal/ /wals

4. 删除旧的 WAL 目录后,创建一个符号链接:Far28资讯网——每日最新资讯28at.com

$ rmdir $PGDATA/pg_wal$ ln -s /wals pg_wal$ ls -alrth pg_wallrwxrwxrwx. 1 postgres postgres 5 Nov 10 00:16 pg_wal -> /wals

5. 立即启动 PostgreSQL 实例:Far28资讯网——每日最新资讯28at.com

$ pg_ctl -D $PGDATA start

这样,您就成功地将 WAL 目录移动到了另一个位置。Far28资讯网——每日最新资讯28at.com

怎么做到的...

要移动 pg_wal,我们必须向服务器添加一个新磁盘,并创建将在其中存储 WAL 段的新目录。我们还需要确保为目录授予适当的权限,如步骤 1 所示。由于这需要您关闭 Postgres 服务器以移动 WAL 目录,因此我们可以使用类似于步骤 2 中所示的命令,来关闭 Postgres。Far28资讯网——每日最新资讯28at.com

如果您有大量的 WAL 段,则可以通过跳过此步骤继续执行步骤 3b,来避免更长的停机时间。如果没有,您可以使用步骤 3a,简单地将现有 pg_wal 目录的所有内容移动到新的目录。Far28资讯网——每日最新资讯28at.com

如果您希望避免超长的停机时间,并希望跳过步骤 2 和 3a,则只需使用步骤 3b,它使用 rsync 将所有现有的 WAL 段从 pg_wal 复制到新的 WAL 目录。完成后,我们可以简单地关闭 Postgres,并再次使用 rsync 来复制新生成的 WAL 段。 移动完所有 WAL 段后,删除旧的 WAL 目录,并创建指向新目录的符号链接,如步骤 4 所示。Far28资讯网——每日最新资讯28at.com

正如我们所看到的,pg_wal 不会从数据目录中永久删除。相反,一个指向我们要将 WAL 移动到的新目录的符号链接会创建出来。创建符号链接后,我们可以启动 PostgreSQL,如步骤 5 所示,开始将新生成的 WAL 段写入新的 WAL 目录。Far28资讯网——每日最新资讯28at.com

如果您有一个具有 1 个主节点和 1 个或多个备节点的高可用集群,则可以以滚动方式或一次性执行所有步骤。在复制集群的每个服务器中具有不同的位置,一直是可以的。 因此,您可以停止所有服务器并执行这些步骤,或者在一台又一台服务器上执行这些步骤。Far28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-87505-0.html压力很大吗?可以考虑移动下 WAL 日志目录

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 从未有过的Kubectl指南

下一篇: SeaweedFS:基于Go语言实现次世代的分布式存储解决方案

标签:
  • 热门焦点
  • 一加Ace2 Pro真机揭晓 钛空灰配色质感拉满

    终于,在经过了几波预热之后,一加Ace2 Pro的外观真机图在网上出现了。还是博主数码闲聊站曝光的,这次的外观设计还是延续了一加11的方案,只是细节上有了调整,例如新加入了钛空灰
  • CSS单标签实现转转logo

    转转品牌升级后更新了全新的Logo,今天我们用纯CSS来实现转转的新Logo,为了有一定的挑战性,这里我们只使用一个标签实现,将最大化的使用CSS能力完成Logo的绘制与动画效果。新logo
  • 分布式系统中的CAP理论,面试必问,你理解了嘛?

    对于刚刚接触分布式系统的小伙伴们来说,一提起分布式系统,就感觉高大上,深不可测。而且看了很多书和视频还是一脸懵逼。这篇文章主要使用大白话的方式,带你理解一下分布式系统
  • 企业采用CRM系统的11个好处

    客户关系管理(CRM)软件可以为企业提供很多的好处,从客户保留到提高生产力。  CRM软件用于企业收集客户互动,以改善客户体验和满意度。  CRM软件市场规模如今超过580
  • 多线程开发带来的问题与解决方法

    使用多线程主要会带来以下几个问题:(一)线程安全问题  线程安全问题指的是在某一线程从开始访问到结束访问某一数据期间,该数据被其他的线程所修改,那么对于当前线程而言,该线程
  • .NET 程序的 GDI 句柄泄露的再反思

    一、背景1. 讲故事上个月我写过一篇 如何洞察 C# 程序的 GDI 句柄泄露 文章,当时用的是 GDIView + WinDbg 把问题搞定,前者用来定位泄露资源,后者用来定位泄露代码,后面有朋友反
  • 拼多多APP上线本地生活入口,群雄逐鹿万亿市场

    Tech星球(微信ID:tech618)文 | 陈桥辉 Tech星球独家获悉,拼多多在其APP内上线了“本地生活”入口,位置较深,位于首页的“充值中心”内,目前主要售卖美食相关的
  • 郭明錤称华为和江淮汽车合作开发问界MPV,定价100万左右、计划明年量产

    8 月 1 日消息,郭明錤今天在 Medium 平台发布博文,称华为正在和江淮汽车合作,开发售价在 100 万元的问界 MPV,预计在 2024 年第 2 季度量产,销量目标为
  • 联想小新Pad Pro 12.6将要推出,搭载高通骁龙 870 处理器

    联想小新Pad Pro 12.6将于秋季新品会上推出,官方按照惯例直接在发布会前给出了机型的所有参数。联想小新 Pad Pro 12.6 将搭载高通骁龙 870 处理器,重量为 5
Top