VACUUMLO(1) PostgreSQL 18.6 Documentation VACUUMLO(1)

vacuumlo - حذف اشیاء بزرگ رهاشده از یک پایگاه‌داده PostgreSQL

vacuumlo [option...] dbname...

vacuumlo یک برنامه کاربردی ساده است که هرگونه شیء بزرگ “رهاشده” (orphaned) را از یک پایگاه‌داده PostgreSQL حذف می‌کند. یک شیء بزرگ رهاشده (LO) شیئی در نظر گرفته می‌شود که OID آن در هیچ ستون داده‌ای از نوع oid یا lo در پایگاه‌داده ظاهر نشده باشد.

اگر از این ابزار استفاده می‌کنید، ممکن است به تریگر lo_manage در ماژول lo نیز علاقه‌مند باشید. lo_manage برای جلوگیری از ایجاد LOهای رهاشده در وهله اول مفید است.

تمام پایگاه‌های داده‌ای که نام آن‌ها در خط فرمان مشخص شده باشد پردازش می‌شوند.

vacuumlo آرگومان‌های خط فرمان زیر را می‌پذیرد:

-l limit
--limit=limit

حذف حداکثر limit شیء بزرگ در هر تراکنش (پیش‌فرض ۱۰۰۰). از آنجا که سرور به ازای هر LO حذف‌شده یک قفل اختصاص می‌دهد، حذف بیش از حد LOها در یک تراکنش خطر فراتر رفتن از max_locks_per_transaction را در پی دارد. اگر می‌خواهید تمام حذف‌ها در یک تراکنش واحد انجام شوند، این محدودیت را برابر صفر قرار دهید.

-n
--dry-run

چیزی را حذف نمی‌کند؛ فقط نشان می‌دهد چه کاری انجام خواهد شد.

-v
--verbose

پیام‌های پیشرفت فراوانی می‌نویسد.

-V
--version

نسخه vacuumlo را چاپ کرده و خارج می‌شود.

-?
--help

راهنمایی درباره آرگومان‌های خط فرمان vacuumlo را نمایش داده و خارج می‌شود.

vacuumlo همچنین آرگومان‌های خط فرمان زیر را برای پارامترهای اتصال می‌پذیرد:

-h host
--host=host

میزبان سرور پایگاه‌داده.

-p port
--port=port

درگاه (پورت) سرور پایگاه‌داده.

-U username
--username=username

نام کاربری برای اتصال.

-w
--no-password

هرگز اعلان درخواست رمز عبور نشان نمی‌دهد. اگر سرور نیازمند احراز هویت با رمز عبور باشد و رمز عبور از طریق روش‌های دیگر مانند فایل .pgpass در دسترس نباشد، تلاش برای برقراری اتصال با شکست مواجه می‌شود. این گزینه در کارهای دسته‌ای (batch jobs) و اسکریپت‌هایی که کاربری برای وارد کردن رمز عبور حضور ندارد مفید است.

-W
--password

برنامه vacuumlo را وادار می‌کند قبل از اتصال به یک پایگاه‌داده، درخواست رمز عبور کند.

این گزینه هرگز ضروری نیست، چرا که اگر سرور نیازمند احراز هویت با رمز عبور باشد، vacuumlo به‌طور خودکار درخواست رمز عبور خواهد کرد. با این حال، vacuumlo یک تلاش برای اتصال را هدر می‌دهد تا متوجه شود سرور نیازمند رمز عبور است. در برخی موارد برای جلوگیری از این تلاش اتصال اضافی، وارد کردن -W ارزشش را دارد.

PGHOST
PGPORT
PGUSER

پارامترهای اتصال پیش‌فرض.

این ابزار نیز مانند بیشتر ابزارهای دیگر PostgreSQL، از متغیرهای محیطی پشتیبانی‌شده توسط libpq استفاده می‌کند (بخش 32.15 را ببینید).

متغیر محیطی PG_COLOR مشخص می‌کند که آیا در پیام‌های عیب‌یابی از رنگ استفاده شود یا خیر. مقادیر ممکن عبارتند از always، auto و never.

vacuumlo بر اساس روش زیر عمل می‌کند: ابتدا، vacuumlo یک جدول موقت ایجاد می‌کند که شامل تمام OIDهای اشیاء بزرگ در پایگاه‌داده انتخاب‌شده است. سپس تمام ستون‌های پایگاه‌داده را که از نوع oid یا lo هستند بررسی کرده و رکوردهای منطبق را از جدول موقت حذف می‌کند. (توجه: فقط نوع‌هایی با این نام‌ها در نظر گرفته می‌شوند؛ به‌ویژه دامنه‌ها (domains) بر روی آن‌ها لحاظ نمی‌شوند.) رکوردهای باقی‌مانده در جدول موقت، LOهای رهاشده را مشخص می‌کنند. این موارد حذف می‌شوند.

Peter Mount <peter@retep.org.uk>

2026 PostgreSQL 18.6