'\" t .\" Title: pg_archivecleanup .\" 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_ARCHIVECLEANUP" "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_archivecleanup \- پاک‌سازی فایل‌های آرشیو WAL در PostgreSQL .SH "خلاصه دستور (SYNOPSIS)" .HP \w'\fBpg_archivecleanup\fR\ 'u \fBpg_archivecleanup\fR [\fIoption\fR...] \fIarchivelocation\fR \fIoldestkeptwalfile\fR .SH "توضیحات (DESCRIPTION)" .PP ابزار pg_archivecleanup طراحی شده است تا به عنوان یک archive_cleanup_command برای پاک‌سازی آرشیوهای فایل WAL هنگام اجرا به عنوان یک سرور standby (بخش\ \&26.2 را ببینید) استفاده شود\&. همچنین می‌توان از pg_archivecleanup به عنوان یک برنامه مستقل برای پاک‌سازی آرشیو فایل‌های WAL استفاده کرد\&. .PP جهت پیکربندی یک سرور standby برای استفاده از pg_archivecleanup، عبارت زیر را در فایل پیکربندی postgresql\&.conf آن قرار دهید: .sp .if n \{\ .RS 4 .\} .nf archive_cleanup_command = \*(Aqpg_archivecleanup \fIarchivelocation\fR %r\*(Aq .fi .if n \{\ .RE .\} .sp که در آن \fIarchivelocation\fR دایرکتوری‌ای است که فایل‌های بخش WAL باید از آن حذف شوند\&. .PP هنگامی که درون archive_cleanup_command استفاده شود، تمام فایل‌های WAL که از نظر منطقی قبل از مقدار آرگومان %r قرار دارند از \fIarchivelocation\fR حذف خواهند شد\&. این امر تعداد فایل‌هایی را که باید نگهداری شوند به حداقل می‌رساند، در حالی که قابلیت راه‌اندازی مجدد پس از خرابی (crash\-restart) را حفظ می‌کند\&. استفاده از این پارامتر زمانی مناسب است که \fIarchivelocation\fR یک ناحیه موقت (staging) برای این سرور standby به‌خصوص باشد، اما زمانی که \fIarchivelocation\fR به عنوان یک ناحیه بلندمدت آرشیو WAL در نظر گرفته شده است، یا زمانی که چند سرور standby در حال بازیابی از همان مکان آرشیو هستند، \fIمناسب نیست\fR\&. .PP هنگامی که به عنوان یک برنامه مستقل استفاده شود، تمام فایل‌های WAL که از نظر منطقی قبل از \fIoldestkeptwalfile\fR هستند، از \fIarchivelocation\fR حذف خواهند شد\&. در این حالت، اگر نام فایلی با پسوند \&.partial یا \&.backup را مشخص کنید، تنها پیشوند فایل به عنوان \fIoldestkeptwalfile\fR استفاده خواهد شد\&. این شیوه برخورد با نام فایل \&.backup به شما اجازه می‌دهد تا تمام فایل‌های WAL آرشیو شده قبل از یک پشتیبان پایه (base backup) مشخص را بدون بروز خطا حذف کنید\&. به عنوان مثال، نمونه زیر تمام فایل‌های قدیمی‌تر از فایل WAL با نام 000000010000003700000010 را حذف می‌کند: .sp .if n \{\ .RS 4 .\} .nf pg_archivecleanup \-d archive 000000010000003700000010\&.00000020\&.backup pg_archivecleanup: keep WAL file "archive/000000010000003700000010" and later pg_archivecleanup: removing file "archive/00000001000000370000000F" pg_archivecleanup: removing file "archive/00000001000000370000000E" .fi .if n \{\ .RE .\} .PP pg_archivecleanup فرض می‌کند که \fIarchivelocation\fR دایرکتوری‌ای با دسترسی خواندن و نوشتن برای کاربری است که مالک سرور می‌باشد\&. .SH "گزینه‌ها (OPTIONS)" .PP pg_archivecleanup آرگومان‌های خط فرمان زیر را می‌پذیرد: .PP \fB\-b\fR .br \fB\-\-clean\-backup\-history\fR .RS 4 فایل‌های تاریخچه پشتیبان‌گیری (backup history) را نیز حذف می‌کند\&. برای جزئیات در مورد فایل‌های تاریخچه پشتیبان‌گیری به بخش\ \&25.3.2 مراجعه کنید\&. .RE .PP \fB\-d\fR .br \fB\-\-debug\fR .RS 4 چاپ خروجی زیاد لاگ رفع اشکال در stderr\&. .RE .PP \fB\-n\fR .br \fB\-\-dry\-run\fR .RS 4 چاپ نام فایل‌هایی که قرار بود حذف شوند در stdout (یک اجرای آزمایشی را انجام می‌دهد)\&. .RE .PP \fB\-V\fR .br \fB\-\-version\fR .RS 4 چاپ نسخه pg_archivecleanup و خروج\&. .RE .PP \fB\-x \fR\fB\fIextension\fR\fR .br \fB\-\-strip\-extension=\fR\fB\fIextension\fR\fR .RS 4 مشخص کردن پسوندی که قبل از تصمیم‌گیری برای حذف، از نام تمام فایل‌ها برداشته می‌شود\&. این گزینه معمولاً برای پاک‌سازی آرشیوهایی که در طول ذخیره‌سازی فشرده شده‌اند و بنابراین پسوندی توسط برنامه فشرده‌سازی به آن‌ها اضافه شده است، مفید است\&. برای مثال: \-x \&.gz\&. .RE .PP \fB\-?\fR .br \fB\-\-help\fR .RS 4 نمایش راهنما درباره آرگومان‌های خط فرمان pg_archivecleanup و خروج\&. .RE .SH "محیط (ENVIRONMENT)" .PP متغیر محیطی \fBPG_COLOR\fR مشخص می‌کند که آیا در پیام‌های عیب‌یابی از رنگ استفاده شود یا خیر\&. مقادیر معتبر عبارتند از always، auto و never\&. .SH "نکات (NOTES)" .PP pg_archivecleanup طراحی شده است تا هنگام استفاده به عنوان یک ابزار مستقل با PostgreSQL نسخه 8\&.0 و بالاتر، یا هنگام استفاده به عنوان دستور پاک‌سازی آرشیو با PostgreSQL نسخه 9\&.0 و بالاتر کار کند\&. .PP pg_archivecleanup به زبان C نوشته شده است و دارای کد منبعی با ویرایش آسان است که بخش‌های مشخصی در آن برای تغییر متناسب با نیازهای شما تعبیه شده است\&. .SH "مثال‌ها (EXAMPLES)" .PP در سیستم‌های لینوکس یا یونیکس، می‌توانید از این دستور استفاده کنید: .sp .if n \{\ .RS 4 .\} .nf archive_cleanup_command = \*(Aqpg_archivecleanup \-d /mnt/standby/archive %r 2>>cleanup\&.log\*(Aq .fi .if n \{\ .RE .\} .sp در صورتی که دایرکتوری آرشیو به طور فیزیکی روی سرور standby واقع شده باشد، به طوری که \fIarchive_command\fR از طریق NFS به آن دسترسی دارد، اما فایل‌ها برای سرور standby محلی هستند\&. این پیکربندی باعث می‌شود: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} خروجی رفع اشکال در cleanup\&.log تولید شود .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} فایل‌هایی که دیگر نیازی به آن‌ها نیست از دایرکتوری آرشیو حذف شوند .RE