PostgreSQL自带的命令行工具19- pg_checksums

PostgreSQL自带的命令行工具19- pg_checksums

基础信息
OS版本:Red Hat Enterprise Linux Server release 7.9 (Maipo)
DB版本:16.2
pg软件目录:/home/pg16/soft
pg数据目录:/home/pg16/data
端口:5777

pg_checksums 是 PostgreSQL 数据库中的一个工具,用于启用、禁用或校验数据页。数据页校验是 PostgreSQL 9.3 版本引入的一项功能,旨在提高数据完整性,通过对每个数据页计算校验,并在数据读取时验证这些校验,来检测硬件故障或磁盘I/O错误导致的数据损坏。

通过help查看帮助文档。

pg_checksums --help
pg_checksums enables, disables, or verifies data checksums in a PostgreSQL database cluster.Usage:pg_checksums [OPTION]... [DATADIR]Options:[-D, --pgdata=]DATADIR    data directory-c, --check              check data checksums (default)-d, --disable            disable data checksums-e, --enable             enable data checksums-f, --filenode=FILENODE  check only relation with specified filenode-N, --no-sync            do not wait for changes to be written safely to disk-P, --progress           show progress information-v, --verbose            output verbose messages-V, --version            output version information, then exit-?, --help               show this help, then exitIf no data directory (DATADIR) is specified, the environment variable PGDATA
is used.Report bugs to <pgsql-bugs@lists.postgresql.org>.
PostgreSQL home page: <https://www.postgresql.org/>

主要功能

  • 启用校验: 在初始化数据库集群时 (initdb 使用 -k--data-checksums 选项) 可以启用页面校验。如果你的数据库是在没有启用校验的情况下初始化的,你可以使用 pg_checksums 工具来启用它们,但这需要在数据库服务器关闭的情况下进行。
  • 禁用校验: 与启用校验相同,禁用校验也需要在数据库服务器关闭的情况下进行。
  • 校验数据库文件: pg_checksums 只能在数据库关闭时进行,用于校验所有数据文件的校验,来检测潜在的数据损坏。

使用 pg_checksums

1 停止数据库服务

在启用或禁用校验和时,确保首先停止 PostgreSQL 服务:

[pg16@test ~]$ pg_ctl stop
waiting for server to shut down....2024-05-10 06:13:43.605 PDT [88551] DEBUG:  logger shutting downdone
server stopped

2 启用校验

在 PostgreSQL 数据目录上运行 pg_checksums 来启用校验。我的库在初始化时已经加-K 参数,故提示已enabled。

[pg16@test 16413]$ pg_checksums --enable -D /home/pg16/data/
pg_checksums: error: data checksums are already enabled in cluster

3 禁用校验

pg_checksums --disable -D /home/pg16/data/

4 校验

[pg16@test 16413]$ pg_checksums -D /home/pg16/data/
Checksum operation completed
Files scanned:   1862
Blocks scanned:  26646
Bad checksums:  0
Data checksum version: 1

数据库运行时执行校验的话会报错。

[pg16@test ~]$ pg_checksums -D /home/pg16/data/
pg_checksums: error: cluster must be shut down

这将会报告任何发现的校验和错误,但不会修复它们。

5 重启数据库服务

在启用或禁用校验和后,需要重启 PostgreSQL 服务

[pg16@test ~]$ pg_ctl start
waiting for server to start....2024-05-10 06:36:32.829 PDT [90005] DEBUG:  registering background worker "logical replication launcher"
2024-05-10 06:36:32.829 PDT [90005] DEBUG:  loaded library "pg_stat_statements"
2024-05-10 06:36:32.829 PDT [90005] DEBUG:  mmap(153092096) with MAP_HUGETLB failed, huge pages disabled: Cannot allocate memory
2024-05-10 06:36:32.838 PDT [90005] LOG:  redirecting log output to logging collector process
2024-05-10 06:36:32.838 PDT [90005] HINT:  Future log output will appear in directory "log".done
server started

注意事项

  • 启用或禁用校验和需要在整个数据库集群上执行,并且在这个过程中数据库服务不能运行。
  • 校验和对性能有轻微的影响,但对于保证数据完整性非常有用。
  • 使用校验和可以增加在物理错误发生时发现错误的几率,但它不能替代定期的备份与灾难恢复计划。

pg_checksums 是维护数据完整性和检测数据损坏的有力工具。在考虑使用此工具之前,建议仔细阅读 PostgreSQL 的官方文档和指导,确保你了解启用校验和对你的系统可能产生的影响。

谨记:心存敬畏,行有所止。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1425058.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

AI视频教程下载:用ChatGPT快速精通Python编程

这个课程是为想要通过ChatGPT提升Python编程技能的个人设计的。 **你将会学到的&#xff1a;** - Python编程语言的基础知识。 - ChatGPT的介绍和多种用例。 - 如何使用ChatGPT加快你的编码项目的开发。 - 了解新技术&#xff0c;如数据科学和机器学习&#xff0c;并进行实…

el-upload 上传多个视频

<el-form-item label="视频" prop="video_url"><el-uploadclass="upload-demo"ref="uploadRef":multiple="true":on-change="handleChange":before-remove="beforeRemove":before-upload=&quo…

Facebook广告运营黑五类怎么投?

哈喽呀&#xff0c;很多小伙伴不知道黑五具体是哪些今天就跟大家来说说&#xff0c;黑五类是指一些擦边的受到限制的产品&#xff0c;指的是药品、医疗器械、丰胸、减肥、增高这五类产品。 黑五类产品可以在哪些平台进行投放&#xff1a; 目前黑五类可以广告投放的跨境电商平台…

Visual Studio Code 扩展程序Text Edits

需求 比如把Scarzombie_Monster全部转换为大写或者小写 安装 Text Edits 直接搜索安装即可 使用 假如要把Scarzombie_Monster全部转为大写&#xff0c;选中右键选中 To Upper Case或者直接快捷键shiftAltU即可

WordPress建站公司模板免费下载

WordPress建站公司 适合提供WordPress建站服务的公司或个体(个人)工作室使用的WordPress建站公司主题模板。 演示 https://www.jianzhanpress.com/?p545 https://www.wpicu.com/jianzhan/ 下载 链接: https://pan.baidu.com/s/11trlwUJq_lW81R_acq4ilA 提取码: r19i

从零入门激光SLAM(十五)——IMU在SLAM中的用处

从这节开始&#xff0c;进入到LIO章节&#xff0c;LIO具有更高的鲁棒性、精度、实时性、环境适应性和成本效益&#xff0c;快来学习一下吧 一、IMU能干什么 惯性测量单元(Inertial measurement unit&#xff0c;IMU)&#xff0c;是测量物体三轴姿态角以及加速度的装置。IMU通…

DDNS配置详解

正文共&#xff1a;1111 字 8 图&#xff0c;预估阅读时间&#xff1a;1 分钟 前面配置了DDNS&#xff08;拨号有公网IP地址了&#xff0c;肯定要通过DDNS用起来啊&#xff01;&#xff09;&#xff0c;有不少小伙伴咨询具体的配置问题。为了方便大家深入理解DDNS的技术原理&am…

IDEA 每次启动都显示选择项目页面

IDEA版本&#xff1a;2021.3.3 打开 Settings > Appearance & Behavior > System Settings 取消勾选 Reopen projects on startup 然后下次启动 IDEA 会显示选择项目页面

记录计全支付切换到RabbitMQ时启动报错的问题

记录计全支付切换到RabbitMQ时启动报错的问题 首先在application.yml中切换到RabbitMQ配置安装RabbitMQ、Erlang、延时插件 rabbitmq_delayed_message_exchange&#xff0c;延迟插件必装 首先在application.yml中切换到RabbitMQ配置 # 第一处rabbitmq:addresses: 127.0.0.1:56…

减肥健身个人总结

个人一直没有健身运动的习惯&#xff0c;工作久了体重超标&#xff0c;体检报告各种指标也不太“美丽”&#xff0c;开始学习一些减肥健身知识&#xff0c;持续更新。目标是每周减1~2斤&#xff0c;用几个月时间持续到体重恢复正常。 文章目录 一、减脂原理---制造热量缺口控制…

停车场车位引导管理系统工作原理是什么,由哪些软硬件设备组成?

在现代城市中&#xff0c;随着汽车保有量的持续增长&#xff0c;停车难成为了许多城市面临的共同问题。有效管理停车场资源&#xff0c;提高车位利用率&#xff0c;减少寻找停车位的时间&#xff0c;对于缓解交通拥堵、提高城市运行效率具有重要意义。车位引导管理系统正是为了…

【全开源】国际版JAVA多商户运营版商城系统源码地摊兄源码多商户源码社交电商源码支持Android+IOS+H5

国际版多商户运营版商城系统&#xff1a;打造全球电商新生态 随着全球化趋势的深入发展&#xff0c;跨境电商已成为推动世界经济增长的重要力量。为了满足不同国家、地区商户的多样化需求&#xff0c;我们隆重推出“国际版多商户运营版商城系统”&#xff0c;旨在为全球商户搭…

请问空三前启动引擎,提示这个错误是什么情况?

答&#xff1a;在AppData-Local-GEngine目录下找到G3DEngineConfig.ini&#xff0c;检查ServerCheckCMD后面是否存在路径 &#xff0c;正常是为空&#xff0c;异常是为存在路径&#xff0c;需要清空该路径&#xff0c;然后重新启动引擎即可 重建大师是一款专为超大规模实景三维…

JUnit5参数化用例(二)

junit5MethodSource参数化&#xff1a; 通过MethodSource注解引用方法作为参数化的数据源信息在MethodSource注解的参数必须是静态的工厂方法&#xff0c;除非测试类被注释为TestInstance&#xff08;Lifecycle.PER_CLASS&#xff09;静态工厂方法的放回值需要和测试方法的参数…

Dalsa windows10下安装流程及部分问题分析

文章目录 安装及依赖库说明切换驱动模式流程问题&#xff1a;通过Dalsa SDK开发后找不到相机&#xff1f;问题&#xff1a;找不到采集卡&#xff1f; 安装及依赖库说明 官网(https://www.teledynedalsa.com/en/support/downloads-center/)下载的最新文件&#xff08;20240515&…

邮件接口实现自动化邮件发送的步骤和技巧?

邮件接口的安全性如何保障&#xff1f;怎么配置和测试邮件接口&#xff1f; 通过合理利用邮件接口&#xff0c;我们可以轻松实现邮件的批量发送、个性化定制以及跟踪反馈&#xff0c;为企业或个人带来诸多便利。接下来&#xff0c;就让AokSend来探讨邮件接口实现自动化邮件发送…

C语言简要(一)

总得让她开心吧 helloworld #include <stdio.h>int main() {printf("hello world!\n");return 0; } 程序框架 #include <stdio.h> int main {return 0; }输出 printf("hello world!\n"); "里面的内容叫做“字符串”&#xff0c;prin…

指标体系建设方案(36页PPT)

一、资料介绍 《指标体系建设方案》这份36页的PPT资料包&#xff0c;是针对当前组织发展需求而精心设计的一套全面、系统的指标构建方案。本资料包从理论到实践&#xff0c;深入浅出地阐述了指标体系建设的必要性、原则、步骤及实施要点&#xff0c;旨在帮助组织建立起科学、合…

人工智能到底是什么玩意儿?

说实话&#xff0c;每次听到“人工智能”这个词&#xff0c;我都感觉像是在听天书一样。它似乎总是被包裹在一堆高大上的术语和概念里&#xff0c;让人摸不着头脑。但今天&#xff0c;我决定挑战一下自己&#xff0c;把这个问题搞个明白&#xff01; 首先&#xff0c;我得承认&…

selenium发展史

Selenium Core 2004 年&#xff0c;Thoughtworks 的工程师 Jason Huggins 正在负责一个 Web 应用的测试工作&#xff0c;由于这个项目需要频繁回归&#xff0c;这导致他不得不每天做着重复且低效的工作。为了解决这个困境&#xff0c;Jason 开发了一个运行在 JavaScript 沙箱中…