CREATEDB(1) PostgreSQL 18.6 Documentation CREATEDB(1) نام (NAME) createdb - ساخت یک پایگاه‌داده جدید PostgreSQL خلاصه دستور (SYNOPSIS) createdb [connection-option...] [option...] [dbname [description]] توضیحات (DESCRIPTION) دستور createdb یک پایگاه‌داده جدید PostgreSQL ایجاد می‌کند. به‌طور معمول، کاربر پایگاه‌داده‌ای که این دستور را اجرا می‌کند، مالک پایگاه‌داده جدید می‌شود. با این حال، در صورتی که کاربر اجراکننده دارای اختیارات لازم باشد، می‌توان با استفاده از گزینه -O مالک متفاوتی را مشخص کرد. دستور createdb پوششی پیرامون دستور SQL با نام CREATE DATABASE است. در عمل هیچ تفاوتی میان ایجاد پایگاه‌های داده از طریق این ابزار و روش‌های دیگر برای دسترسی به سرور وجود ندارد. گزینه‌ها (OPTIONS) دستور createdb آرگومان‌های خط فرمان زیر را می‌پذیرد: dbname نام پایگاه‌داده‌ای که باید ایجاد شود را مشخص می‌کند. این نام باید میان تمام پایگاه‌های داده PostgreSQL در این کلاستر یکتا باشد. حالت پیش‌فرض، ساخت پایگاه‌داده‌ای هم‌نام با کاربر جاری سیستم است. description توضیحی را برای انتساب به پایگاه‌داده جدید تعیین می‌کند. -D tablespace --tablespace=tablespace فضای جدول (tablespace) پیش‌فرض پایگاه‌داده را تعیین می‌کند. (این نام به‌عنوان یک شناسه نقل‌قول‌شده دوگانه پردازش می‌شود.) -e --echo دستوراتی را که createdb تولید کرده و به سرور ارسال می‌کند، در خروجی نمایش می‌دهد (echo). -E encoding --encoding=encoding طرح کدگذاری نویسه‌ها (character encoding scheme) را برای استفاده در این پایگاه‌داده مشخص می‌کند. مجموعه‌های نویسه پشتیبانی‌شده توسط سرور PostgreSQL در بخش 23.3.1 شرح داده شده‌اند. -l locale --locale=locale لوکال (locale) مورد استفاده در این پایگاه‌داده را مشخص می‌کند. این کار معادل تنظیم هم‌زمان گزینه‌های --lc-collate، --lc-ctype و --icu-locale با مقداری یکسان است. برخی لوکال‌ها تنها برای ICU معتبر هستند و باید با --icu-locale تنظیم شوند. --lc-collate=locale تنظیم LC_COLLATE را برای استفاده در این پایگاه‌داده مشخص می‌کند. --lc-ctype=locale تنظیم LC_CTYPE را برای استفاده در این پایگاه‌داده مشخص می‌کند. --builtin-locale=locale نام لوکال را هنگام استفاده از ارائه‌دهنده داخلی (builtin) مشخص می‌کند. پشتیبانی از لوکال در بخش 23.1 شرح داده شده است. --icu-locale=locale در صورت انتخاب ارائه‌دهنده لوکال ICU، شناسه لوکال ICU را برای استفاده در این پایگاه‌داده مشخص می‌کند. --icu-rules=rules قواعد تطبیق (collation rules) اضافی را برای سفارشی‌سازی رفتار تطبیق پیش‌فرض این پایگاه‌داده تعیین می‌کند. این مورد تنها برای ICU پشتیبانی می‌شود. --locale-provider={builtin|libc|icu} ارائه‌دهنده لوکال را برای تطبیق پیش‌فرض پایگاه‌داده مشخص می‌کند. -O owner --owner=owner کاربر پایگاه‌داده‌ای را که مالک پایگاه‌داده جدید خواهد بود مشخص می‌کند. (این نام به‌عنوان یک شناسه نقل‌قول‌شده دوگانه پردازش می‌شود.) -S strategy --strategy=strategy راهبرد ساخت پایگاه‌داده را تعیین می‌کند. برای جزئیات بیشتر به CREATE DATABASE STRATEGY مراجعه کنید. -T template --template=template پایگاه‌داده الگویی را که این پایگاه‌داده باید بر مبنای آن ساخته شود مشخص می‌کند. (این نام به‌عنوان یک شناسه نقل‌قول‌شده دوگانه پردازش می‌شود.) -V --version نسخه createdb را چاپ کرده و خارج می‌شود. -? --help راهنمای آرگومان‌های خط فرمان createdb را نمایش داده و خارج می‌شود. گزینه‌های -D، -l، -E، -O و -T متناظر با گزینه‌های دستور SQL زیربنایی CREATE DATABASE هستند؛ برای کسب اطلاعات بیشتر درباره آن‌ها به مستندات آن دستور مراجعه کنید. دستور createdb همچنین آرگومان‌های خط فرمان زیر را برای پارامترهای اتصال می‌پذیرد: -h host --host=host نام میزبان ماشینی را که سرور روی آن در حال اجراست مشخص می‌کند. اگر این مقدار با یک اسلش آغاز شود، به‌عنوان پوشه سوکت دامنه یونیکس (Unix domain socket) استفاده خواهد شد. -p port --port=port پورت TCP یا پسوند فایل سوکت دامنه یونیکس محلی را که سرور برای دریافت اتصالات روی آن گوش می‌دهد مشخص می‌کند. -U username --username=username نام کاربری برای برقراری اتصال. -w --no-password هرگز درخواست رمز عبور مطرح نمی‌کند. اگر سرور نیازمند احراز هویت با رمز عبور باشد و رمز عبور از راه‌های دیگری همچون فایل .pgpass در دسترس نباشد، تلاش برای برقراری اتصال با شکست مواجه می‌شود. این گزینه در کارهای دسته‌ای (batch jobs) و اسکریپت‌هایی که هیچ کاربری برای وارد کردن رمز عبور حضور ندارد مفید است. -W --password برنامه createdb را وادار می‌کند قبل از اتصال به پایگاه‌داده، درخواست رمز عبور کند. این گزینه هرگز ضروری نیست، زیرا createdb در صورتی که سرور نیاز به احراز هویت با رمز عبور داشته باشد، به‌طور خودکار درخواست رمز عبور خواهد کرد. با این وجود، createdb یک تلاش برای اتصال را هدر خواهد داد تا متوجه شود سرور نیازمند رمز عبور است. در برخی موارد، مشخص کردن -W برای جلوگیری از این تلاش مضاعف ارزشمند است. --maintenance-db=dbname نام پایگاه‌داده‌ای را برای اتصال در حین ساخت پایگاه‌داده جدید مشخص می‌کند. در صورت عدم تعیین، از پایگاه‌داده postgres استفاده می‌شود؛ چنانچه آن پایگاه‌داده موجود نباشد (یا نام همان پایگاه‌داده جدیدی باشد که در حال ساخته شدن است)، از template1 استفاده خواهد شد. این مقدار می‌تواند یک رشته اتصال (connection string) باشد. در این حالت، پارامترهای رشته اتصال بر هر گزینه خط فرمانی که دارای تضاد باشد ارجحیت خواهند داشت. محیط (ENVIRONMENT) PGDATABASE در صورت تنظیم، نام پایگاه‌داده‌ای را که باید ساخته شود مشخص می‌کند، مگر اینکه در خط فرمان بازنویسی شود. PGHOST PGPORT PGUSER پارامترهای اتصال پیش‌فرض. PGUSER همچنین در صورتی که نام پایگاه‌داده در خط فرمان یا از طریق PGDATABASE تعیین نشده باشد، نام پایگاه‌داده‌ای را که باید ساخته شود مشخص می‌کند. PG_COLOR مشخص می‌کند که آیا در پیام‌های خطا از رنگ استفاده شود یا خیر. مقادیر معتبر عبارتند از always، auto و never. این ابزار، مانند اغلب ابزارهای دیگر PostgreSQL، از متغیرهای محیطی پشتیبانی‌شده توسط libpq نیز استفاده می‌کند (به بخش 32.15 مراجعه فرمایید). خطاها (DIAGNOSTICS) در صورت بروز مشکل، برای بررسی مسائل احتمالی و پیام‌های خطا به CREATE DATABASE (CREATE_DATABASE(7)) و psql(1) مراجعه کنید. سرور پایگاه‌داده باید روی میزبان هدف در حال اجرا باشد. همچنین، هرگونه تنظیمات پیش‌فرض اتصال و متغیرهای محیطی مورد استفاده توسط کتابخانه پیشانه libpq اعمال خواهد شد. مثال‌ها (EXAMPLES) برای ساخت پایگاه‌داده demo با استفاده از سرور پایگاه‌داده پیش‌فرض: $ createdb demo برای ساخت پایگاه‌داده demo روی میزبان eden، پورت 5000، با استفاده از پایگاه‌داده الگوی template0، دستور خط فرمان و دستور SQL زیربنایی مربوط به آن به شکل زیر است: $ createdb -p 5000 -h eden -T template0 -e demo CREATE DATABASE demo TEMPLATE template0; همچنین ببینید (SEE ALSO) dropdb(1), CREATE DATABASE (CREATE_DATABASE(7)) PostgreSQL 18.6 2026 CREATEDB(1)