| CREATEUSER(1) | PostgreSQL 18.6 Documentation | CREATEUSER(1) |
نام (NAME)
createuser - تعریف یک حساب کاربری جدید در PostgreSQL
خلاصه دستور (SYNOPSIS)
createuser [connection-option...] [option...] [username]
توضیحات (DESCRIPTION)
دستور createuser یک کاربر (یا بهطور دقیقتر، یک نقش) جدید در PostgreSQL ایجاد میکند. تنها ابرکاربران و کاربرانی با امتیاز CREATEROLE میتوانند کاربران جدید بسازند، بنابراین createuser باید توسط فردی فراخوانی شود که امکان اتصال به عنوان ابرکاربر یا کاربری با امتیاز CREATEROLE را داشته باشد.
اگر میخواهید نقشی با امتیازهای SUPERUSER، REPLICATION یا BYPASSRLS ایجاد کنید، باید حتماً به عنوان یک ابرکاربر متصل شوید، نه فقط با امتیاز CREATEROLE. ابرکاربر بودن به معنای توانایی دور زدن تمامی بررسیهای مجوز دسترسی در پایگاهداده است، بنابراین دسترسی ابرکاربر نباید بهسادگی اعطا شود. امتیاز CREATEROLE نیز اختیارات بسیار گستردهای در بر دارد.
دستور createuser یک پوسته روی دستور SQL یعنی CREATE ROLE است. بین ایجاد کاربران از طریق این ابزار و سایر روشهای دسترسی به سرور هیچ تفاوت عملی وجود ندارد.
گزینهها (OPTIONS)
دستور createuser آرگومانهای خط فرمان زیر را میپذیرد:
username
-a role
--with-admin=role
-c number
--connection-limit=number
-d
--createdb
-D
--no-createdb
-e
--echo
-E
--encrypted
-g role
--member-of=role
--role=role
(منسوخشده)
-i
--inherit
-I
--no-inherit
--interactive
-l
--login
-L
--no-login
-m role
--with-member=role
-P
--pwprompt
--createrole
-R
--no-createrole
-s
--superuser
-S
--no-superuser
-v timestamp
--valid-until=timestamp
-V
--version
--bypassrls
--no-bypassrls
--replication
--no-replication
-?
--help
دستور createuser همچنین آرگومانهای خط فرمان زیر را برای پارامترهای اتصال میپذیرد:
-h host
--host=host
-p port
--port=port
-U username
--username=username
-w
--no-password
-W
--password
این گزینه هرگز ضروری نیست، چرا که اگر سرور نیازمند احراز هویت با گذرواژه باشد، createuser بهطور خودکار اعلان گذرواژه را نمایش خواهد داد. با این حال، createuser یک تلاش اتصال را برای پی بردن به اینکه سرور گذرواژه میخواهد هدر خواهد داد. در برخی موارد نوشتن -W برای جلوگیری از این تلاش اتصال اضافه، ارزشش را دارد.
PGHOST
PGPORT
PGUSER
PG_COLOR
این ابزار، مانند بیشتر ابزارهای دیگر PostgreSQL، همچنین از متغیرهای محیطی پشتیبانیشده توسط libpq استفاده میکند (به بخش 32.15 مراجعه کنید).
خطاها (DIAGNOSTICS)
در صورت بروز مشکل، برای بررسی مسائل احتمالی و پیامهای خطا، به CREATE ROLE (CREATE_ROLE(7)) و psql(1) مراجعه کنید. سرور پایگاهداده باید روی میزبان هدف در حال اجرا باشد. همچنین، تمام تنظیمات پیشفرض اتصال و متغیرهای محیطی مورد استفاده توسط کتابخانهٔ فرانتاند libpq اعمال خواهند شد.
مثالها (EXAMPLES)
برای ایجاد یک کاربر joe روی سرور پایگاهداده پیشفرض:
$ createuser joe
برای ایجاد کاربر joe روی سرور پایگاهداده پیشفرض با اعلان درخواست تعاملی برای برخی ویژگیهای اضافی:
$ createuser --interactive joe Shall the new role be a superuser? (y/n) n Shall the new role be allowed to create databases? (y/n) n Shall the new role be allowed to create more new roles? (y/n) n
برای ایجاد همان کاربر joe با استفاده از سرور روی میزبان eden، درگاه 5000، با ویژگیهایی که صراحتاً تعیین شدهاند، همراه با مشاهدهٔ دستور زیربنایی:
$ createuser -h eden -p 5000 -S -D -R -e joe CREATE ROLE joe NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN;
برای ایجاد کاربر joe بهعنوان مدیر سیستم (superuser) و تخصیص آنی یک گذرواژه:
$ createuser -P -s -e joe Enter password for new role: xyzzy Enter it again: xyzzy CREATE ROLE joe PASSWORD 'SCRAM-SHA-256$4096:44560wPMLfjqiAzyPDZ/eQ==$4CA054rZlSFEq8Z3FEhToBTa2X6KnWFxFkPwIbKoDe0=:L/nbSZRCjp6RhOhKK56GoR1zibCCSePKshCJ9lnl3yw=' SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN NOREPLICATION NOBYPASSRLS;
در مثال بالا، گذرواژهٔ جدید هنگام تایپ عملاً نمایش داده نمیشود، اما برای وضوح بیشتر، آنچه تایپ شده نشان داده شده است. همانطور که میبینید، گذرواژه پیش از ارسال به کلاینت رمزنگاری میشود..SH "همچنین ببینید (SEE ALSO)" dropuser(1), CREATE ROLE (CREATE_ROLE(7)), createrole_self_grant
| 2026 | PostgreSQL 18.6 |