| PG_COMBINEBACKUP(1) | PostgreSQL 18.6 Documentation | PG_COMBINEBACKUP(1) |
نام (NAME)
pg_combinebackup - بازسازی یک پشتیبان کامل از یک پشتیبان افزایشی و پشتیبانهای وابسته
خلاصه دستور (SYNOPSIS)
pg_combinebackup [option...] [backup_directory...]
توضیحات (DESCRIPTION)
ابزار pg_combinebackup برای بازسازی یک پشتیبان کامل ترکیبی (synthetic full backup) از یک پشتیبان افزایشی (incremental backup) و پشتیبانهای پیشینی که به آنها وابسته است، استفاده میشود.
تمام پشتیبانهای مورد نیاز را در خط فرمان از قدیمیترین به جدیدترین مشخص کنید. به این معنی که نخستین دایرکتوری پشتیبان باید مسیر پشتیبان کامل، و آخرین مورد باید مسیر پشتیبان افزایشی نهایی باشد که مایل به بازیابی آن هستید. پشتیبان بازسازیشده در دایرکتوری خروجی مشخصشده توسط گزینهٔ -o نوشته خواهد شد.
ابزار pg_combinebackup تلاش خواهد کرد تا بررسی کند که پشتیبانهای مشخصشده یک زنجیرهٔ پشتیبان معتبر تشکیل میدهند که میتوان از آن یک پشتیبان کاملِ صحیح را بازسازی کرد. با این حال، این ابزار به این منظور طراحی نشده است که به شما در ردیابی این که کدام پشتیبانها به کدام پشتیبانهای دیگر وابستهاند کمک کند. اگر یک یا چند مورد از پشتیبانهای پیشین را که پشتیبان افزایشی شما به آنها وابسته است حذف کنید، قادر به بازیابی آن نخواهید بود. علاوه بر این، pg_combinebackup تنها تلاش میکند بررسی کند که پشتیبانها ارتباط درستی با یکدیگر دارند، نه اینکه هر نسخهٔ پشتیبان منفرد دستنخورده و سالم باشد؛ برای این منظور، از pg_verifybackup(1) استفاده کنید.
از آنجا که خروجی pg_combinebackup یک پشتیبان کامل ترکیبی است، میتواند به عنوان ورودی برای فراخوانیهای بعدی pg_combinebackup استفاده شود. پشتیبان کامل ترکیبی را میتوان در خط فرمان به جای زنجیرهٔ پشتیبانهایی که از آنها بازسازی شده است، مشخص کرد.
گزینهها (OPTIONS)
-d
--debug
-k
--link
نیازمند این است که پشتیبانهای ورودی و دایرکتوری خروجی در یک سیستم فایل یکسان قرار داشته باشند.
اگر یک مانیفست پشتیبان (backup manifest) در دسترس نباشد یا شامل چکسام (checksum) از نوع مناسب نباشد، پیوندهای سخت همچنان ایجاد خواهند شد، اما فایلها برای محاسبهٔ چکسام بهصورت بلوکبهبلوک نیز خوانده میشوند.
-n
--dry-run
-N
--no-sync
-o outputdir
--output=outputdir
-T olddir=newdir
--tablespace-mapping=olddir=newdir
--clone
اگر یک مانیفست پشتیبان در دسترس نباشد یا شامل چکسام از نوع مناسب نباشد، از کلونسازی فایل برای کپی فایل استفاده میشود، اما فایل برای محاسبهٔ چکسام بهصورت بلوکبهبلوک نیز خوانده خواهد شد.
شبیهسازی فایل تنها در برخی سیستمهای عامل و سیستمهای فایل پشتیبانی میشود. اگر این گزینه انتخاب شود اما پشتیبانی نشود، اجرای pg_combinebackup با خطا مواجه خواهد شد. در حال حاضر، این قابلیت در لینوکس (کرنل ۴.۵ یا جدیدتر) با Btrfs و XFS (در سیستمهای فایلی که با پشتیبانی از reflink ایجاد شدهاند)، و در macOS با APFS پشتیبانی میشود.
--copy
--copy-file-range
اگر یک مانیفست پشتیبان در دسترس نباشد یا شامل چکسام از نوع مناسب نباشد، از copy_file_range برای کپی کردن فایل استفاده میشود، اما فایل برای محاسبهٔ چکسام بهصورت بلوکبهبلوک نیز خوانده خواهد شد.
--manifest-checksums=algorithm
--no-manifest
--sync-method=method
در لینوکس، میتوان از syncfs به جای آن استفاده کرد تا از سیستمعامل خواسته شود کل سیستم فایلی را که شامل دایرکتوری پشتیبان است همگامسازی کند. زمانی که از فرمت plain استفاده میشود، pg_combinebackup همچنین سیستمهای فایلی را که حاوی فایلهای WAL و هر فضای جدول هستند همگامسازی خواهد کرد. برای اطلاعات بیشتر دربارهٔ نکاتی که باید هنگام استفاده از syncfs از آنها آگاه باشید، recovery_init_sync_method را ببینید.
این گزینه زمانی که از --no-sync استفاده شود، هیچ تأثیری ندارد.
-V
--version
-?
--help
محدودیتها (LIMITATIONS)
ابزار pg_combinebackup هنگام نوشتن در دایرکتوری خروجی، چکسامهای صفحات را دوباره محاسبه نمیکند. بنابراین، اگر هر یک از پشتیبانهای استفادهشده برای بازسازی با چکسامهای غیرفعال گرفته شده باشند، اما پشتیبان نهایی با چکسامهای فعال گرفته شده باشد، دایرکتوری حاصل ممکن است شامل صفحاتی با چکسامهای نامعتبر باشد.
برای جلوگیری از این مشکل، تهیهٔ یک پشتیبان کاملِ جدید پس از تغییر وضعیت چکسام کلاستر با استفاده از pg_checksums(1) توصیه میشود. در غیر این صورت، میتوانید چکسامها را در دایرکتوری ایجادشده توسط pg_combinebackup غیرفعال کرده و سپس در صورت تمایل مجدداً فعال کنید تا مشکل برطرف شود.
محیط (ENVIRONMENT)
این ابزار، مانند بیشتر ابزارهای دیگر PostgreSQL، از متغیرهای محیطی پشتیبانیشده توسط libpq استفاده میکند (بخش 32.15 را ببینید).
متغیر محیطی PG_COLOR مشخص میکند که آیا در پیامهای عیبیابی از رنگ استفاده شود یا خیر. مقادیر ممکن عبارتند از always، auto و never.
همچنین ببینید (SEE ALSO)
| 2026 | PostgreSQL 18.6 |