CLUSTERDB(1) مستندات PostgreSQL 18.6 CLUSTERDB(1)

clusterdb - خوشه‌بندی جداول پایگاه داده PostgreSQL

clusterdb [connection-option...] [option...] [ --table | -t table ]... [dbname | -a | --all]

clusterdb ابزاری برای خوشه‌بندی مجدد جداول در یک پایگاه داده PostgreSQL است. این ابزار جداولی را که پیش‌تر خوشه‌بندی شده‌اند پیدا کرده و آن‌ها را بر اساس همان نمایه‌ای (index) که آخرین بار استفاده شده بود، دوباره خوشه‌بندی می‌کند. جداولی که هرگز خوشه‌بندی نشده‌اند تحت تاثیر قرار نمی‌گیرند.

clusterdb یک پوشش (wrapper) بر روی دستور اس‌کیوال CLUSTER(7) است. تفاوت موثری میان خوشه‌بندی پایگاه‌های داده از طریق این ابزار و سایر روش‌های دسترسی به سرور وجود ندارد.

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 استفاده می‌شود. این مقدار می‌تواند یک رشته اتصال باشد. در این صورت، پارامترهای رشته اتصال بر هر گزینه متناقض خط فرمان اولویت دارند. همچنین، پارامترهای رشته اتصال به جز نام خود پایگاه داده هنگام اتصال به سایر پایگاه‌های داده دوباره استفاده خواهند شد.

PGDATABASE
PGHOST
PGPORT
PGUSER

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

PG_COLOR

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

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

در صورت بروز مشکل، به CLUSTER(7) و psql(1) برای توضیحات پیرامون مشکلات احتمالی و پیام‌های خطا مراجعه کنید. سرور پایگاه داده باید روی میزبان هدف در حال اجرا باشد. همچنین، هرگونه تنظیمات پیش‌فرض اتصال و متغیرهای محیطی مورد استفاده توسط کتابخانه کلاینت libpq اعمال خواهد شد.

برای خوشه‌بندی پایگاه داده test:

$ clusterdb test

برای خوشه‌بندی یک جدول منفرد foo در پایگاه داده‌ای به نام xyzzy:

$ clusterdb --table=foo xyzzy

CLUSTER(7)

2026 PostgreSQL 18.6