'\" t .\" Title: pg_checksums .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 .\" Manual: PostgreSQL 18.6 Documentation .\" Source: PostgreSQL 18.6 .\" Language: English .\" .TH "PG_CHECKSUMS" "1" "2026" "PostgreSQL 18.6" "PostgreSQL 18.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" pg_checksums \- فعال‌سازی، غیرفعال‌سازی یا بررسی چکسام‌های داده در یک کلاستر پایگاه داده PostgreSQL .SH "خلاصه دستور (SYNOPSIS)" .HP \w'\fBpg_checksums\fR\ 'u \fBpg_checksums\fR [\fIoption\fR...] [[\fB\-D\fR | \fB\-\-pgdata\fR]\fIdatadir\fR] .SH "توضیحات (DESCRIPTION)" .PP برنامه pg_checksums چکسام‌های داده را در یک کلاستر PostgreSQL بررسی، فعال یا غیرفعال می‌کند\&. سرور باید پیش از اجرای pg_checksums به‌طور تمیز و کامل خاموش شده باشد\&. هنگام اعتبارسنجی چکسام‌ها، در صورت نبود خطای چکسام، وضعیت خروج صفر است و اگر حداقل یک خرابی چکسام شناسایی شود، وضعیتی غیرصفر بازگردانده می‌شود\&. هنگام فعال‌سازی یا غیرفعال‌سازی چکسام‌ها، در صورت شکست عملیات، وضعیت خروج غیرصفر خواهد بود\&. .PP هنگام اعتبارسنجی چکسام‌ها، تمام فایل‌های موجود در کلاستر پویش می‌شوند\&. هنگام فعال‌سازی چکسام‌ها، هر بلوک از فایل‌های رابطه (relation) با چکسام تغییریافته، در جا (in\-place) بازنویسی می‌شود\&. غیرفعال‌سازی چکسام‌ها تنها فایل pg_control را به‌روزرسانی می‌کند\&. .SH "گزینه‌ها (OPTIONS)" .PP گزینه‌های خط فرمان زیر در دسترس هستند: .PP \fB\-D \fR\fB\fIdirectory\fR\fR .br \fB\-\-pgdata=\fR\fB\fIdirectory\fR\fR .RS 4 دایرکتوری محل ذخیره‌سازی کلاستر پایگاه داده را مشخص می‌کند\&. .RE .PP \fB\-c\fR .br \fB\-\-check\fR .RS 4 چکسام‌ها را بررسی می‌کند\&. در صورتی که گزینه دیگری مشخص نشده باشد، این حالت پیش‌فرض است\&. .RE .PP \fB\-d\fR .br \fB\-\-disable\fR .RS 4 چکسام‌ها را غیرفعال می‌کند\&. .RE .PP \fB\-e\fR .br \fB\-\-enable\fR .RS 4 چکسام‌ها را فعال می‌کند\&. .RE .PP \fB\-f \fR\fB\fIfilenode\fR\fR .br \fB\-\-filenode=\fR\fB\fIfilenode\fR\fR .RS 4 تنها چکسام‌ها را در رابطه‌ای با شناسه فایل‌نود \fIfilenode\fR اعتبارسنجی می‌کند\&. .RE .PP \fB\-N\fR .br \fB\-\-no\-sync\fR .RS 4 به‌طور پیش‌فرض، \fBpg_checksums\fR منتظر می‌ماند تا تمام فایل‌ها به‌طور ایمن روی دیسک نوشته شوند\&. این گزینه باعث می‌شود که \fBpg_checksums\fR بدون انتظار بازگردد، که سریع‌تر است اما به این معنی است که یک کرش بعدی سیستم‌عامل می‌تواند دایرکتوری داده به‌روزرسانی‌شده را خراب باقی بگذارد\&. به‌طور کلی، این گزینه برای آزمایش مفید است اما نباید در یک محیط عملیاتی استفاده شود\&. این گزینه هنگام استفاده از \-\-check هیچ تاثیری ندارد\&. .RE .PP \fB\-P\fR .br \fB\-\-progress\fR .RS 4 گزارش‌دهی پیشرفت را فعال می‌کند\&. فعال کردن این گزینه، گزارشی از پیشرفت عملیات را هنگام بررسی یا فعال‌سازی چکسام‌ها نمایش می‌دهد\&. .RE .PP \fB\-\-sync\-method=\fR\fB\fImethod\fR\fR .RS 4 هنگامی که روی fsync تنظیم شده باشد (که حالت پیش‌فرض است)، \fBpg_checksums\fR به‌طور بازگشتی تمام فایل‌های موجود در دایرکتوری داده را باز کرده و همگام‌سازی می‌کند\&. جستجوی فایل‌ها، پیوندهای نمادین مربوط به دایرکتوری WAL و هر tablespace پیکربندی‌شده را دنبال خواهد کرد\&. .sp در لینوکس، می‌توان در عوض از syncfs استفاده کرد تا از سیستم‌عامل خواسته شود کل فایل‌سیستم‌هایی را که شامل دایرکتوری داده، فایل‌های WAL و هر tablespace هستند، همگام‌سازی کند\&. برای اطلاعات بیشتر درباره نکاتی که هنگام استفاده از syncfs باید به آن‌ها توجه داشت، recovery_init_sync_method را ببینید\&. .sp این گزینه هنگامی که از \fB\-\-no\-sync\fR استفاده شده باشد، تاثیری ندارد\&. .RE .PP \fB\-v\fR .br \fB\-\-verbose\fR .RS 4 خروجی پرگو (verbose) را فعال می‌کند\&. تمام فایل‌های بررسی‌شده را فهرست می‌کند\&. .RE .PP \fB\-V\fR .br \fB\-\-version\fR .RS 4 نسخه pg_checksums را چاپ کرده و خارج می‌شود\&. .RE .PP \fB\-?\fR .br \fB\-\-help\fR .RS 4 راهنمایی درباره آرگومان‌های خط فرمان pg_checksums را نمایش داده و خارج می‌شود\&. .RE .SH "محیط (ENVIRONMENT)" .PP \fBPGDATA\fR .RS 4 دایرکتوری محل ذخیره‌سازی کلاستر پایگاه داده را مشخص می‌کند؛ می‌تواند با استفاده از گزینه \fB\-D\fR نادیده گرفته و جایگزین شود\&. .RE .PP \fBPG_COLOR\fR .RS 4 مشخص می‌کند که آیا در پیام‌های عیب‌یابی از رنگ استفاده شود یا خیر\&. مقادیر ممکن عبارتند از always، auto و never\&. .RE .SH "نکات (NOTES)" .PP فعال‌سازی چکسام‌ها در یک کلاستر بزرگ می‌تواند زمان زیادی ببرد\&. در طول این عملیات، کلاستر یا برنامه‌های دیگری که در دایرکتوری داده می‌نویسند نباید اجرا شوند، در غیر این صورت ممکن است از دست رفتن داده‌ها رخ دهد\&. .PP هنگام استفاده از پیکربندی همگام‌سازی (replication) با ابزارهایی که کپی مستقیم از بلوک‌های فایل رابطه انجام می‌دهند (برای مثال \fBpg_rewind\fR(1))، در صورتی که عملیات به‌صورت هماهنگ در تمام گره‌ها انجام نشود، فعال‌سازی یا غیرفعال‌سازی چکسام‌ها می‌تواند منجر به خرابی صفحه (page corruption) به شکل چکسام‌های نادرست شود\&. بنابراین، هنگام فعال‌سازی یا غیرفعال‌سازی چکسام‌ها در یک ساختار replication، توصیه می‌شود تمام کلاسترها پیش از تغییر وضعیت هماهنگ همه آن‌ها متوقف شوند\&. همچنین از بین بردن تمام سرورهای آماده‌باش (standby)، انجام عملیات روی سرور اصلی (primary) و در نهایت ایجاد مجدد سرورهای standby از ابتدا نیز راهکاری ایمن است\&. .PP اگر pg_checksums در حین فعال‌سازی یا غیرفعال‌سازی چکسام‌ها لغو شده یا متوقف شود (kill شود)، پیکربندی چکسام داده کلاستر بدون تغییر باقی می‌ماند و pg_checksums می‌تواند برای انجام همان عملیات مجدداً اجرا شود\&.