| PG_CHECKSUMS(1) | PostgreSQL 18.6 Documentation | PG_CHECKSUMS(1) |
نام (NAME)
pg_checksums - فعالسازی، غیرفعالسازی یا بررسی چکسامهای داده در یک کلاستر پایگاه داده PostgreSQL
خلاصه دستور (SYNOPSIS)
pg_checksums [option...] [[-D | --pgdata]datadir]
توضیحات (DESCRIPTION)
برنامه pg_checksums چکسامهای داده را در یک کلاستر PostgreSQL بررسی، فعال یا غیرفعال میکند. سرور باید پیش از اجرای pg_checksums بهطور تمیز و کامل خاموش شده باشد. هنگام اعتبارسنجی چکسامها، در صورت نبود خطای چکسام، وضعیت خروج صفر است و اگر حداقل یک خرابی چکسام شناسایی شود، وضعیتی غیرصفر بازگردانده میشود. هنگام فعالسازی یا غیرفعالسازی چکسامها، در صورت شکست عملیات، وضعیت خروج غیرصفر خواهد بود.
هنگام اعتبارسنجی چکسامها، تمام فایلهای موجود در کلاستر پویش میشوند. هنگام فعالسازی چکسامها، هر بلوک از فایلهای رابطه (relation) با چکسام تغییریافته، در جا (in-place) بازنویسی میشود. غیرفعالسازی چکسامها تنها فایل pg_control را بهروزرسانی میکند.
گزینهها (OPTIONS)
گزینههای خط فرمان زیر در دسترس هستند:
-D directory
--pgdata=directory
-c
--check
-d
--disable
-e
--enable
-f filenode
--filenode=filenode
-N
--no-sync
-P
--progress
--sync-method=method
در لینوکس، میتوان در عوض از syncfs استفاده کرد تا از سیستمعامل خواسته شود کل فایلسیستمهایی را که شامل دایرکتوری داده، فایلهای WAL و هر tablespace هستند، همگامسازی کند. برای اطلاعات بیشتر درباره نکاتی که هنگام استفاده از syncfs باید به آنها توجه داشت، recovery_init_sync_method را ببینید.
این گزینه هنگامی که از --no-sync استفاده شده باشد، تاثیری ندارد.
-v
--verbose
-V
--version
-?
--help
محیط (ENVIRONMENT)
PGDATA
PG_COLOR
نکات (NOTES)
فعالسازی چکسامها در یک کلاستر بزرگ میتواند زمان زیادی ببرد. در طول این عملیات، کلاستر یا برنامههای دیگری که در دایرکتوری داده مینویسند نباید اجرا شوند، در غیر این صورت ممکن است از دست رفتن دادهها رخ دهد.
هنگام استفاده از پیکربندی همگامسازی (replication) با ابزارهایی که کپی مستقیم از بلوکهای فایل رابطه انجام میدهند (برای مثال pg_rewind(1))، در صورتی که عملیات بهصورت هماهنگ در تمام گرهها انجام نشود، فعالسازی یا غیرفعالسازی چکسامها میتواند منجر به خرابی صفحه (page corruption) به شکل چکسامهای نادرست شود. بنابراین، هنگام فعالسازی یا غیرفعالسازی چکسامها در یک ساختار replication، توصیه میشود تمام کلاسترها پیش از تغییر وضعیت هماهنگ همه آنها متوقف شوند. همچنین از بین بردن تمام سرورهای آمادهباش (standby)، انجام عملیات روی سرور اصلی (primary) و در نهایت ایجاد مجدد سرورهای standby از ابتدا نیز راهکاری ایمن است.
اگر pg_checksums در حین فعالسازی یا غیرفعالسازی چکسامها لغو شده یا متوقف شود (kill شود)، پیکربندی چکسام داده کلاستر بدون تغییر باقی میماند و pg_checksums میتواند برای انجام همان عملیات مجدداً اجرا شود.
| 2026 | PostgreSQL 18.6 |