CLUSTERDB(1) مستندات PostgreSQL 18.6 CLUSTERDB(1) نام (NAME) clusterdb - خوشه‌بندی جداول پایگاه داده PostgreSQL خلاصه دستور (SYNOPSIS) clusterdb [connection-option...] [option...] [ --table | -t table ]... [dbname | -a | --all] توضیحات (DESCRIPTION) clusterdb ابزاری برای خوشه‌بندی مجدد جداول در یک پایگاه داده PostgreSQL است. این ابزار جداولی را که پیش‌تر خوشه‌بندی شده‌اند پیدا کرده و آن‌ها را بر اساس همان نمایه‌ای (index) که آخرین بار استفاده شده بود، دوباره خوشه‌بندی می‌کند. جداولی که هرگز خوشه‌بندی نشده‌اند تحت تاثیر قرار نمی‌گیرند. clusterdb یک پوشش (wrapper) بر روی دستور اس‌کیوال CLUSTER(7) است. تفاوت موثری میان خوشه‌بندی پایگاه‌های داده از طریق این ابزار و سایر روش‌های دسترسی به سرور وجود ندارد. گزینه‌ها (OPTIONS) clusterdb آرگومان‌های خط فرمان زیر را می‌پذیرد: -a --all خوشه‌بندی تمام پایگاه‌های داده. [-d] dbname [--dbname=]dbname نام پایگاه داده‌ای را که باید خوشه‌بندی شود مشخص می‌کند، زمانی که از -a/--all استفاده نشده باشد. اگر مشخص نشود، نام پایگاه داده از متغیر محیطی PGDATABASE خوانده می‌شود. اگر آن هم تنظیم نشده باشد، از نام کاربری مشخص‌شده برای اتصال استفاده می‌شود. مقدار dbname می‌تواند یک رشته اتصال (connection string) باشد. در این حالت، پارامترهای رشته اتصال بر هر گزینه متناقض خط فرمان اولویت خواهند داشت. -e --echo چاپ دستوراتی که clusterdb تولید کرده و به سرور می‌فرستد. -q --quiet عدم نمایش پیام‌های پیشرفت کار. -t table --table=table خوشه‌بندی فقط table. چندین جدول را می‌توان با مشخص کردن چندین سوئیچ -t خوشه‌بندی کرد. -v --verbose چاپ اطلاعات با جزئیات کامل در حین پردازش. -V --version چاپ نسخه clusterdb و خروج. -? --help نمایش راهنمای آرگومان‌های خط فرمان clusterdb و خروج. clusterdb همچنین آرگومان‌های خط فرمان زیر را برای پارامترهای اتصال می‌پذیرد: -h host --host=host نام میزبان دستگاهی که سرور روی آن در حال اجرا است را مشخص می‌کند. اگر مقدار با یک اسلش شروع شود، به عنوان دایرکتوری سوکت دامنه یونیکس (Unix domain socket) استفاده می‌شود. -p port --port=port پورت TCP یا پسوند فایل سوکت دامنه یونیکس محلی را که سرور برای اتصالات به آن گوش می‌دهد مشخص می‌کند. -U username --username=username نام کاربری برای اتصال. -w --no-password هرگز درخواست رمز عبور نمی‌کند. اگر سرور نیازمند احراز هویت با رمز عبور باشد و رمز عبور از راه‌های دیگر مانند فایل .pgpass در دسترس نباشد، تلاش برای برقراری اتصال ناموفق خواهد بود. این گزینه در کارهای دسته‌ای (batch jobs) و اسکریپت‌هایی که کاربری برای وارد کردن رمز عبور حضور ندارد کاربرد دارد. -W --password اجبار clusterdb به درخواست رمز عبور پیش از اتصال به پایگاه داده. این گزینه هرگز ضروری نیست، زیرا clusterdb اگر سرور احراز هویت با رمز عبور را بخواهد، به صورت خودکار درخواست رمز عبور خواهد کرد. با این حال، clusterdb یک تلاش برای برقراری اتصال را صرف پی بردن به نیاز سرور به رمز عبور می‌کند. در برخی موارد وارد کردن -W برای جلوگیری از این تلاش اضافی اتصال ارزشمند است. --maintenance-db=dbname هنگامی که از -a/--all استفاده می‌شود، برای دریافت فهرست پایگاه‌های داده جهت خوشه‌بندی، به این پایگاه داده متصل می‌شود. اگر مشخص نشود، از پایگاه داده postgres استفاده خواهد شد، یا اگر آن وجود نداشته باشد، از template1 استفاده می‌شود. این مقدار می‌تواند یک رشته اتصال باشد. در این صورت، پارامترهای رشته اتصال بر هر گزینه متناقض خط فرمان اولویت دارند. همچنین، پارامترهای رشته اتصال به جز نام خود پایگاه داده هنگام اتصال به سایر پایگاه‌های داده دوباره استفاده خواهند شد. محیط (ENVIRONMENT) PGDATABASE PGHOST PGPORT PGUSER پارامترهای پیش‌فرض اتصال PG_COLOR مشخص می‌کند که آیا از رنگ در پیام‌های تشخیصی استفاده شود یا خیر. مقادیر ممکن عبارتند از always (همیشه)، auto (خودکار) و never (هرگز). این ابزار، همانند بیشتر ابزارهای دیگر PostgreSQL، همچنین از متغیرهای محیطی پشتیبانی‌شده توسط libpq استفاده می‌کند (بخش 32.15 را ببینید). عیب‌یابی (DIAGNOSTICS) در صورت بروز مشکل، به CLUSTER(7) و psql(1) برای توضیحات پیرامون مشکلات احتمالی و پیام‌های خطا مراجعه کنید. سرور پایگاه داده باید روی میزبان هدف در حال اجرا باشد. همچنین، هرگونه تنظیمات پیش‌فرض اتصال و متغیرهای محیطی مورد استفاده توسط کتابخانه کلاینت libpq اعمال خواهد شد. مثال‌ها (EXAMPLES) برای خوشه‌بندی پایگاه داده test: $ clusterdb test برای خوشه‌بندی یک جدول منفرد foo در پایگاه داده‌ای به نام xyzzy: $ clusterdb --table=foo xyzzy همچنین ببینید (SEE ALSO) CLUSTER(7) PostgreSQL 18.6 2026 CLUSTERDB(1)