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

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

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

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

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

准备工作

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

操作步骤

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

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

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

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

$ pg_ctl -D $PGDATA stop -mf

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

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

$ mv $PGDATA/pg_wal/* /wals

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

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

4. 删除旧的 WAL 目录后,创建一个符号链接:DyL28资讯网——每日最新资讯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 实例:DyL28资讯网——每日最新资讯28at.com

$ pg_ctl -D $PGDATA start

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

怎么做到的...

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

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

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

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

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

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

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

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

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

标签:
  • 热门焦点
  • 在线图片编辑器,支持PSD解析、AI抠图等

    自从我上次分享一个人开发仿造稿定设计的图片编辑器到现在,不知不觉已过去一年时间了,期间我经历了裁员失业、面试找工作碰壁,寒冬下一直没有很好地履行计划.....这些就放在日
  • 共享单车的故事讲到哪了?

    来源丨海克财经与共享充电宝相差不多,共享单车已很久没有被国内热点新闻关照到了。除了一再涨价和用户直呼用不起了。近日多家媒体再发报道称,成都、天津、郑州等地多个共享单
  • 本地生活这块肥肉,拼多多也想吃一口

    出品/壹览商业 作者/李彦编辑/木鱼拼多多也看上本地生活这块蛋糕了。近期,拼多多在App首页“充值中心”入口上线了本机生活界面。壹览商业发现,该界面目前主要
  • 得物宠物生意「狂飙」,发力“它经济”

    作者|花花小萌主近日,得物宣布正式上线宠物鉴别,通过得物App内的“在线鉴别”,可找到鉴别宠物的选项。通过上传自家宠物的部位细节,就能收获拥有专业资质认证的得物鉴
  • 当家的盒马,加速谋生

    来源 | 价值星球Planet作者 | 归去来自己“当家”的盒马,开始加速谋生了。据盒马官微消息,盒马计划今年开放生鲜供应链,将其生鲜商品送往食堂。目前,盒马在上海已经与
  • 小米公益基金会捐赠2500万元驰援北京、河北暴雨救灾

    8月2日消息,今日小米科技创始人雷军在其微博上发布消息称,小米公益基金会宣布捐赠2500万元驰援北京、河北暴雨救灾。携手抗灾,京冀安康!以下为公告原文
  • 首发天玑9200+ iQOO Neo8系列发布首销售价2299元起

    2023年5月23日晚,iQOO Neo8系列正式发布。其中,Neo系列首款Pro之作——iQOO Neo8 Pro强悍登场,限时售价3099元起;价位段最强性能手机iQOO Neo8同期上市
  • Android 14发布:首批适配机型公布

    5月11日消息,谷歌在今天凌晨举行了I/O大会,本次发布会谷歌带来了自家的AI语言模型PaLM 2、谷歌Pixel Fold折叠屏、谷歌Pixel 7a手机,同时发布了Androi
  • iQOO Neo8 Pro真机谍照曝光:天玑9200+和V1+旗舰双芯加持

    去年10月,iQOO推出了iQOO Neo7系列机型,不仅搭载了天玑9000+,而且是同价位唯一一款天玑9000+直屏旗舰,一经上市便受到了用户的广泛关注。在时隔半年后,
Top