DROPDB(1) PostgreSQL 18.6 Documentation DROPDB(1)

dropdb - حذف یک پایگاه‌داده PostgreSQL

dropdb [connection-option...] [option...] dbname

دستور dropdb یک پایگاه‌داده موجود PostgreSQL را حذف می‌کند. کاربری که این دستور را اجرا می‌کند باید مدیر ارشد پایگاه‌داده (superuser) یا مالک آن پایگاه‌داده باشد.

دستور dropdb یک پوشش (wrapper) پیرامون دستور SQL به نام DROP DATABASE است. هیچ تفاوت مؤثری بین حذف پایگاه‌های داده از طریق این ابزار و سایر روش‌های دسترسی به سرور وجود ندارد.

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

dbname

نام پایگاه‌داده‌ای که باید حذف شود را مشخص می‌کند.

-e
--echo

دستوراتی را که dropdb تولید کرده و به سرور ارسال می‌کند، در خروجی نمایش می‌دهد.

-f
--force

تلاش برای قطع تمام اتصالات موجود به پایگاه‌داده هدف پیش از حذف آن. برای اطلاعات بیشتر در مورد این گزینه، به DROP DATABASE (DROP_DATABASE(7)) مراجعه کنید.

-i
--interactive

پیش از انجام هرگونه عملیات مخرب، یک اعلان تأیید نمایش می‌دهد.

-V
--version

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

--if-exists

در صورتی که پایگاه‌داده وجود نداشته باشد، خطایی صادر نمی‌کند. در این حالت یک اعلان (notice) صادر می‌شود.

-?
--help

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

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

-h host
--host=host

نام میزبان ماشینی را مشخص می‌کند که سرور روی آن در حال اجرا است. اگر مقدار با یک اسلش آغاز شود، به عنوان دایرکتوری سوکت دامنه یونیکس (Unix domain socket) استفاده می‌شود.

-p port
--port=port

پورت TCP یا پسوند فایل سوکت محلی دامنه یونیکس را که سرور روی آن به اتصالات گوش می‌دهد، مشخص می‌کند.

-U username
--username=username

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

-w
--no-password

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

-W
--password

اجبار dropdb به درخواست رمز عبور پیش از اتصال به یک پایگاه‌داده.

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

--maintenance-db=dbname

نام پایگاه‌داده‌ای را برای اتصال مشخص می‌کند تا پایگاه‌داده هدف حذف شود. اگر مشخص نشود، از پایگاه‌داده postgres استفاده خواهد شد؛ اگر آن وجود نداشته باشد (یا همان پایگاه‌داده‌ای باشد که در حال حذف است)، از template1 استفاده خواهد شد. این مقدار می‌تواند یک رشته اتصال (connection string) باشد. در این صورت، پارامترهای رشته اتصال هرگونه گزینه متناقض خط فرمان را لغو خواهند کرد.

PGHOST
PGPORT
PGUSER

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

PG_COLOR

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

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

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

برای حذف پایگاه‌داده demo روی سرور پایگاه‌داده پیش‌فرض:

$ dropdb demo

برای حذف پایگاه‌داده demo با استفاده از سرور روی میزبان eden، پورت 5000، همراه با تأیید و مشاهده دستور زیرین:

$ dropdb -p 5000 -h eden -i -e demo
Database "demo" will be permanently deleted.
Are you sure? (y/n) y
DROP DATABASE demo;

createdb(1), DROP DATABASE (DROP_DATABASE(7))

2026 PostgreSQL 18.6