'\" t .\" Title: pg_combinebackup .\" 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_COMBINEBACKUP" "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_combinebackup \- بازسازی یک پشتیبان کامل از یک پشتیبان افزایشی و پشتیبان‌های وابسته .SH "خلاصه دستور (SYNOPSIS)" .HP \w'\fBpg_combinebackup\fR\ 'u \fBpg_combinebackup\fR [\fIoption\fR...] [\fIbackup_directory\fR...] .SH "توضیحات (DESCRIPTION)" .PP ابزار pg_combinebackup برای بازسازی یک پشتیبان کامل ترکیبی (synthetic full backup) از یک پشتیبان افزایشی (incremental backup) و پشتیبان‌های پیشینی که به آن‌ها وابسته است، استفاده می‌شود\&. .PP تمام پشتیبان‌های مورد نیاز را در خط فرمان از قدیمی‌ترین به جدیدترین مشخص کنید\&. به این معنی که نخستین دایرکتوری پشتیبان باید مسیر پشتیبان کامل، و آخرین مورد باید مسیر پشتیبان افزایشی نهایی باشد که مایل به بازیابی آن هستید\&. پشتیبان بازسازی‌شده در دایرکتوری خروجی مشخص‌شده توسط گزینهٔ \fB\-o\fR نوشته خواهد شد\&. .PP ابزار pg_combinebackup تلاش خواهد کرد تا بررسی کند که پشتیبان‌های مشخص‌شده یک زنجیرهٔ پشتیبان معتبر تشکیل می‌دهند که می‌توان از آن یک پشتیبان کاملِ صحیح را بازسازی کرد\&. با این حال، این ابزار به این منظور طراحی نشده است که به شما در ردیابی این که کدام پشتیبان‌ها به کدام پشتیبان‌های دیگر وابسته‌اند کمک کند\&. اگر یک یا چند مورد از پشتیبان‌های پیشین را که پشتیبان افزایشی شما به آن‌ها وابسته است حذف کنید، قادر به بازیابی آن نخواهید بود\&. علاوه بر این، pg_combinebackup تنها تلاش می‌کند بررسی کند که پشتیبان‌ها ارتباط درستی با یکدیگر دارند، نه اینکه هر نسخهٔ پشتیبان منفرد دست‌نخورده و سالم باشد؛ برای این منظور، از \fBpg_verifybackup\fR(1) استفاده کنید\&. .PP از آنجا که خروجی pg_combinebackup یک پشتیبان کامل ترکیبی است، می‌تواند به عنوان ورودی برای فراخوانی‌های بعدی pg_combinebackup استفاده شود\&. پشتیبان کامل ترکیبی را می‌توان در خط فرمان به جای زنجیرهٔ پشتیبان‌هایی که از آن‌ها بازسازی شده است، مشخص کرد\&. .SH "گزینه‌ها (OPTIONS)" .PP .PP \fB\-d\fR .br \fB\-\-debug\fR .RS 4 چاپ خروجی‌های فراوان لاگ عیب‌یابی (debug) در stderr\&. .RE .PP \fB\-k\fR .br \fB\-\-link\fR .RS 4 استفاده از پیوندهای سخت (hard links) به جای کپی کردن فایل‌ها در پشتیبان ترکیبی\&. بازسازی پشتیبان ترکیبی ممکن است سریع‌تر باشد (بدون کپی فایل) و فضای دیسک کمتری مصرف کند، اما هنگام استفاده از دایرکتوری خروجی باید احتیاط کرد، زیرا هرگونه تغییر در آن دایرکتوری (برای نمونه، راه‌اندازی سرور) می‌تواند روی دایرکتوری‌های ورودی نیز تأثیر بگذارد\&. به همین ترتیب، تغییرات در دایرکتوری‌های ورودی (مثلاً راه‌اندازی سرور روی پشتیبان کامل) می‌تواند روی دایرکتوری خروجی اثر بگذارد\&. بنابراین، بهتر است از این گزینه زمانی استفاده شود که دایرکتوری‌های ورودی فقط نسخه‌هایی باشند که پس از تکمیل کار pg_combinebackup حذف خواهند شد\&. .sp نیازمند این است که پشتیبان‌های ورودی و دایرکتوری خروجی در یک سیستم فایل یکسان قرار داشته باشند\&. .sp اگر یک مانیفست پشتیبان (backup manifest) در دسترس نباشد یا شامل چکسام (checksum) از نوع مناسب نباشد، پیوندهای سخت همچنان ایجاد خواهند شد، اما فایل‌ها برای محاسبهٔ چکسام به‌صورت بلوک‌به‌بلوک نیز خوانده می‌شوند\&. .RE .PP \fB\-n\fR .br \fB\-\-dry\-run\fR .RS 4 گزینهٔ \fB\-n\fR/\fB\-\-dry\-run\fR به \fBpg_combinebackup\fR دستور می‌دهد تا بدون ایجاد واقعی دایرکتوری هدف یا هرگونه فایل خروجی، تعیین کند که چه عملیاتی انجام خواهد شد\&. این گزینه به‌ویژه در ترکیب با \fB\-\-debug\fR بسیار مفید است\&. .RE .PP \fB\-N\fR .br \fB\-\-no\-sync\fR .RS 4 به‌طور پیش‌فرض، \fBpg_combinebackup\fR منتظر می‌ماند تا همهٔ فایل‌ها به‌صورت امن روی دیسک نوشته شوند\&. این گزینه باعث می‌شود که \fBpg_combinebackup\fR بدون انتظار برگردد که سریع‌تر است، اما به این معنی است که یک کرش (خرابی) پس‌آیند سیستم‌عامل می‌تواند نسخهٔ پشتیبان خروجی را خراب یا ناقص رها کند\&. به‌طور کلی، این گزینه برای آزمایش مفید است اما نباید هنگام ایجاد یک استقرار عملیاتی استفاده شود\&. .RE .PP \fB\-o \fR\fB\fIoutputdir\fR\fR .br \fB\-\-output=\fR\fB\fIoutputdir\fR\fR .RS 4 دایرکتوری خروجی را که پشتیبان کامل ترکیبی باید در آن نوشته شود مشخص می‌کند\&. در حال حاضر، این آرگومان الزامی است\&. .RE .PP \fB\-T \fR\fB\fIolddir\fR\fR\fB=\fR\fB\fInewdir\fR\fR .br \fB\-\-tablespace\-mapping=\fR\fB\fIolddir\fR\fR\fB=\fR\fB\fInewdir\fR\fR .RS 4 فضای جدول (tablespace) واقع در دایرکتوری \fIolddir\fR را در طول پشتیبان‌گیری به \fInewdir\fR منتقل می‌کند\&. مقدار \fIolddir\fR مسیر مطلق فضای جدول آن‌گونه که در آخرین پشتیبان مشخص‌شده در خط فرمان وجود دارد، و \fInewdir\fR مسیر مطلق مورد استفاده برای فضای جدول در پشتیبان بازسازی‌شده است\&. اگر هر یک از مسیرها نیاز به علامت مساوی (=) داشته باشد، پیش از آن یک بک‌اسلش قرار دهید\&. این گزینه را می‌توان چندین بار برای چندین فضای جدول مشخص کرد\&. .RE .PP \fB\-\-clone\fR .RS 4 استفاده از شبیه‌سازی کارآمد فایل (که در برخی سیستم‌ها با نام \(lqreflinks\(rq نیز شناخته می‌شود) به جای کپی کردن فایل‌ها در دایرکتوری داده جدید، که می‌تواند منجر به کپی تقریباً آنی فایل‌های داده شود\&. .sp اگر یک مانیفست پشتیبان در دسترس نباشد یا شامل چکسام از نوع مناسب نباشد، از کلون‌سازی فایل برای کپی فایل استفاده می‌شود، اما فایل برای محاسبهٔ چکسام به‌صورت بلوک‌به‌بلوک نیز خوانده خواهد شد\&. .sp شبیه‌سازی فایل تنها در برخی سیستم‌های عامل و سیستم‌های فایل پشتیبانی می‌شود\&. اگر این گزینه انتخاب شود اما پشتیبانی نشود، اجرای pg_combinebackup با خطا مواجه خواهد شد\&. در حال حاضر، این قابلیت در لینوکس (کرنل ۴.۵ یا جدیدتر) با Btrfs و XFS (در سیستم‌های فایلی که با پشتیبانی از reflink ایجاد شده‌اند)، و در macOS با APFS پشتیبانی می‌شود\&. .RE .PP \fB\-\-copy\fR .RS 4 انجام کپی عادی فایل\&. این حالت پیش‌فرض است\&. (همچنین ببینید: \fB\-\-copy\-file\-range\fR، \fB\-\-clone\fR، و \fB\-k\fR/\fB\-\-link\fR\&.) .RE .PP \fB\-\-copy\-file\-range\fR .RS 4 استفاده از فراخوان سیستمی \fBcopy_file_range\fR برای کپی کارآمد\&. در برخی سیستم‌های فایل، این کار نتایجی مشابه با \fB\-\-clone\fR ایجاد کرده و بلوک‌های فیزیکی دیسک را به اشتراک می‌گذارد، در حالی که در برخی دیگر ممکن است همچنان بلوک‌ها را کپی کند، اما این کار را از طریق یک مسیر بهینه‌سازی‌شده انجام می‌دهد\&. در حال حاضر، این ویژگی در لینوکس و FreeBSD پشتیبانی می‌شود\&. .sp اگر یک مانیفست پشتیبان در دسترس نباشد یا شامل چکسام از نوع مناسب نباشد، از \fBcopy_file_range\fR برای کپی کردن فایل استفاده می‌شود، اما فایل برای محاسبهٔ چکسام به‌صورت بلوک‌به‌بلوک نیز خوانده خواهد شد\&. .RE .PP \fB\-\-manifest\-checksums=\fR\fB\fIalgorithm\fR\fR .RS 4 مانند \fBpg_basebackup\fR(1)، ابزار pg_combinebackup نیز یک مانیفست پشتیبان در دایرکتوری خروجی می‌نویسد\&. این گزینه الگوریتم چکسامی را مشخص می‌کند که باید برای هر فایل گنجانده‌شده در مانیفست پشتیبان اعمال شود\&. در حال حاضر، الگوریتم‌های موجود عبارتند از: NONE، CRC32C، SHA224، SHA256، SHA384 و SHA512\&. مقدار پیش‌فرض CRC32C است\&. .RE .PP \fB\-\-no\-manifest\fR .RS 4 تولید مانیفست پشتیبان را غیرفعال می‌کند\&. اگر این گزینه مشخص نشود، یک مانیفست پشتیبان برای نسخهٔ پشتیبان بازسازی‌شده در دایرکتوری خروجی نوشته خواهد شد\&. .RE .PP \fB\-\-sync\-method=\fR\fB\fImethod\fR\fR .RS 4 هنگامی که روی fsync (پیش‌فرض) تنظیم شود، \fBpg_combinebackup\fR به‌صورت بازگشتی تمام فایل‌های موجود در دایرکتوری پشتیبان را باز کرده و همگام‌سازی (synchronize) می‌کند\&. زمانی که از فرمت plain استفاده می‌شود، جستجوی فایل‌ها برای دایرکتوری WAL و هر فضای جدول پیکربندی‌شده، پیوندهای نمادین (symbolic links) را دنبال خواهد کرد\&. .sp در لینوکس، می‌توان از syncfs به جای آن استفاده کرد تا از سیستم‌عامل خواسته شود کل سیستم فایلی را که شامل دایرکتوری پشتیبان است همگام‌سازی کند\&. زمانی که از فرمت plain استفاده می‌شود، \fBpg_combinebackup\fR همچنین سیستم‌های فایلی را که حاوی فایل‌های WAL و هر فضای جدول هستند همگام‌سازی خواهد کرد\&. برای اطلاعات بیشتر دربارهٔ نکاتی که باید هنگام استفاده از syncfs از آن‌ها آگاه باشید، recovery_init_sync_method را ببینید\&. .sp این گزینه زمانی که از \fB\-\-no\-sync\fR استفاده شود، هیچ تأثیری ندارد\&. .RE .PP \fB\-V\fR .br \fB\-\-version\fR .RS 4 نسخهٔ pg_combinebackup را چاپ کرده و خارج می‌شود\&. .RE .PP \fB\-?\fR .br \fB\-\-help\fR .RS 4 راهنمایی دربارهٔ آرگومان‌های خط فرمان pg_combinebackup را نمایش داده و خارج می‌شود\&. .RE .SH "محدودیت‌ها (LIMITATIONS)" .PP ابزار pg_combinebackup هنگام نوشتن در دایرکتوری خروجی، چکسام‌های صفحات را دوباره محاسبه نمی‌کند\&. بنابراین، اگر هر یک از پشتیبان‌های استفاده‌شده برای بازسازی با چکسام‌های غیرفعال گرفته شده باشند، اما پشتیبان نهایی با چکسام‌های فعال گرفته شده باشد، دایرکتوری حاصل ممکن است شامل صفحاتی با چکسام‌های نامعتبر باشد\&. .PP برای جلوگیری از این مشکل، تهیهٔ یک پشتیبان کاملِ جدید پس از تغییر وضعیت چکسام کلاستر با استفاده از \fBpg_checksums\fR(1) توصیه می‌شود\&. در غیر این صورت، می‌توانید چکسام‌ها را در دایرکتوری ایجادشده توسط pg_combinebackup غیرفعال کرده و سپس در صورت تمایل مجدداً فعال کنید تا مشکل برطرف شود\&. .SH "محیط (ENVIRONMENT)" .PP این ابزار، مانند بیشتر ابزارهای دیگر PostgreSQL، از متغیرهای محیطی پشتیبانی‌شده توسط libpq استفاده می‌کند (بخش\ \&32.15 را ببینید)\&. .PP متغیر محیطی \fBPG_COLOR\fR مشخص می‌کند که آیا در پیام‌های عیب‌یابی از رنگ استفاده شود یا خیر\&. مقادیر ممکن عبارتند از always، auto و never\&. .SH "همچنین ببینید (SEE ALSO)" \fBpg_basebackup\fR(1)