POSTGRES(1) PostgreSQL 18.6 Documentation POSTGRES(1)

postgres - کارساز پایگاه‌داده PostgreSQL

postgres [گزینه...]

postgres کارساز پایگاه‌داده PostgreSQL است. برای اینکه یک برنامه کلاینت به پایگاه‌داده دسترسی پیدا کند، (از طریق شبکه یا به صورت محلی) به یک نمونه در حال اجرای postgres متصل می‌شود. سپس نمونه postgres یک پردازه کارساز جداگانه را برای رسیدگی به این اتصال آغاز می‌کند.

یک نمونه postgres همواره داده‌های دقیقاً یک خوشه پایگاه‌داده را مدیریت می‌کند. یک خوشه پایگاه‌داده مجموعه‌ای از پایگاه‌های داده است که در یک مکان مشترک در سیستم‌فایل (تحت عنوان “ناحیه داده”) ذخیره شده است. تا زمانی که از نواحی داده متفاوت و درگاه‌های ارتباطی مختلفی استفاده شود (به زیر مراجعه کنید)، بیش از یک نمونه postgres می‌تواند به طور هم‌زمان روی یک سیستم اجرا شود. هنگامی که postgres آغاز به کار می‌کند، باید از مکان ناحیه داده آگاه باشد. این مکان باید توسط گزینه -D یا متغیر محیطی PGDATA مشخص شود؛ هیچ پیش‌فرضی وجود ندارد. به‌طور معمول، -D یا PGDATA مستقیماً به دایرکتوری ناحیه داده که توسط initdb(1) ایجاد شده است اشاره می‌کند. سایر ساختارهای ممکن برای فایل‌ها در بخش 19.2 بررسی شده‌اند.

به‌طور پیش‌فرض postgres در پیش‌زمینه آغاز به کار می‌کند و پیام‌های گزارش را به جریان خطای استاندارد می‌فرستد. در کاربردهای عملی، postgres باید به عنوان یک پردازه پس‌زمینه، برای نمونه هنگام بوت سیستم، اجرا شود.

دستور postgres همچنین می‌تواند در حالت تک‌کاربره فراخوانی شود. کاربرد اصلی این حالت هنگام راه‌اندازی اولیه (bootstrapping) توسط initdb(1) است. گاهی اوقات برای اشکال‌زدایی یا بازیابی پس از سانحه استفاده می‌شود؛ توجه داشته باشید که اجرای کارساز در حالت تک‌کاربره برای اشکال‌زدایی کارساز واقعاً مناسب نیست، چرا که هیچ ارتباط بین‌پردازه‌ای و قفل‌گذاری واقع‌بینانه‌ای صورت نمی‌پذیرد. در صورت فراخوانی در حالت تک‌کاربره از پوسته، کاربر می‌تواند پرس‌وجوها را وارد کند و نتایج روی صفحه نمایش چاپ می‌شوند، اما در قالبی که بیشتر برای توسعه‌دهندگان مفید است تا کاربران نهایی. در حالت تک‌کاربره، کاربر نشست روی کاربری با شناسه ۱ (ID 1) تنظیم می‌شود و اختیارات ضمنی مدیر سیستم (superuser) به این کاربر اعطا می‌گردد. این کاربر در عمل نیازی نیست وجود داشته باشد، بنابراین می‌توان از حالت تک‌کاربره برای بازیابی دستی انواع خاصی از آسیب‌های تصادفی به کاتالوگ‌های سیستم استفاده کرد.

postgres آرگومان‌های خط فرمان زیر را می‌پذیرد. برای بررسی دقیق گزینه‌ها به فصل 19 مراجعه کنید. می‌توانید با برپایی یک فایل پیکربندی از تایپ بیشتر این گزینه‌ها بی‌نیاز شوید. برخی از گزینه‌ها (گزینه‌های امن) همچنین می‌توانند از طرف کلاینت متصل‌شونده، بسته به برنامه به نحوی تنظیم شوند که فقط برای همان نشست اعمال گردند. برای نمونه، اگر متغیر محیطی PGOPTIONS تنظیم شده باشد، کلاینت‌های مبتنی بر libpq آن رشته را به کارساز ارسال می‌کنند و کارساز آن را به عنوان گزینه‌های خط فرمان postgres تفسیر خواهد کرد..SS "کاربرد عمومی (General Purpose)"

-B nbuffers

تعداد بافرهای اشتراکی را برای استفاده توسط پردازش‌های سرور تنظیم می‌کند. مقدار پیش‌فرض این پارامتر به‌طور خودکار توسط initdb انتخاب می‌شود. مشخص کردن این گزینه معادل با تنظیم پارامتر پیکربندی shared_buffers است.

-c name=value

یک پارامتر زمان اجرای نام‌گذاری‌شده را مقداردهی می‌کند. پارامترهای پیکربندی پشتیبانی‌شده توسط PostgreSQL در فصل 19 شرح داده شده‌اند. بیشتر گزینه‌های دیگر خط فرمان در واقع فرم کوتاه‌شدهٔ چنین انتساب پارامتری هستند. -c می‌تواند چندین بار برای تنظیم چندین پارامتر تکرار شود.

-C name

مقدار پارامتر زمان اجرای نام‌برده‌شده را چاپ کرده و خارج می‌شود. (برای جزئیات به گزینهٔ -c در بالا مراجعه کنید.) این گزینه مقادیر را از postgresql.conf، با اعمال تغییرات ناشی از هر پارامتری که در این فراخوانی ارائه شده است، برمی‌گرداند. این مقادیر بازتاب‌دهندهٔ پارامترهای ارائه‌شده در زمان راه‌اندازی کلاستر نیستند.

از این گزینه می‌توان روی یک سرور در حال اجرا برای بیشتر پارامترها استفاده کرد. با این حال، سرور باید برای برخی پارامترهای محاسبه‌شده در زمان اجرا (مانند shared_memory_size، shared_memory_size_in_huge_pages و wal_segment_size) خاموش باشد.

این گزینه برای برنامه‌های دیگری در نظر گرفته شده است که با یک نمونهٔ سرور در تعامل هستند، مانند pg_ctl(1)، تا مقادیر پارامترهای پیکربندی را پرس‌وجو کنند. برنامه‌های کاربرمحور باید در عوض از SHOW یا نمای pg_settings استفاده کنند.

-d debug-level

سطح اشکال‌زدایی (debug level) را تنظیم می‌کند. هرچه این مقدار بالاتر تنظیم شود، خروجی اشکال‌زدایی بیشتری در لاگ سرور نوشته می‌شود. مقادیر از 1 تا 5 هستند. همچنین می‌توان -d 0 را برای یک نشست خاص ارسال کرد، که از انتشار سطح لاگ سرورِ پردازش والد postgres به این نشست جلوگیری می‌کند.

-D datadir

مکان فایل‌های پیکربندی پایگاه داده را در سیستم فایل مشخص می‌کند. برای جزئیات به بخش 19.2 مراجعه کنید.

-e

سبک پیش‌فرض تاریخ را روی “European” (اروپایی) تنظیم می‌کند، یعنی ترتیب DMY برای فیلدهای ورودی تاریخ. این همچنین باعث می‌شود در برخی قالب‌های خروجی تاریخ، روز قبل از ماه چاپ شود. برای اطلاعات بیشتر به بخش 8.5 مراجعه کنید.

-F

فراخوانی‌های fsync را برای بهبود کارایی غیرفعال می‌کند، به قیمت خطر خرابی داده‌ها در صورت فروپاشی (crash) سیستم. مشخص کردن این گزینه معادل با غیرفعال کردن پارامتر پیکربندی fsync است. پیش از استفاده از این گزینه، مستندات تفصیلی را مطالعه کنید!

-h hostname

نام هاست یا آدرس IP که در آن postgres باید برای اتصالات TCP/IP از سوی برنامه‌های کلاینت گوش فرا دهد را مشخص می‌کند. مقدار می‌تواند فهرستی از آدرس‌های جداشده با کاما، یا * برای گوش دادن روی تمام رابط‌های موجود باشد. یک مقدار خالی مشخص می‌کند که روی هیچ آدرس IP گوش داده نشود، که در این حالت تنها می‌توان از سوکت‌های دامنه یونیکس (Unix-domain sockets) برای اتصال به سرور استفاده کرد. مقدار پیش‌فرض گوش دادن تنها روی localhost است. مشخص کردن این گزینه معادل با تنظیم پارامتر پیکربندی listen_addresses است.

-i

به کلاینت‌های راه دور اجازه می‌دهد از طریق اتصالات TCP/IP (دامنه اینترنت) متصل شوند. بدون این گزینه، تنها اتصالات محلی پذیرفته می‌شوند. این گزینه معادل با تنظیم listen_addresses روی * در postgresql.conf یا از طریق -h است.

این گزینه منسوخ شده است زیرا امکان دسترسی به تمام قابلیت‌های listen_addresses را فراهم نمی‌کند. معمولاً بهتر است listen_addresses مستقیماً تنظیم شود.

-k directory

دایرکتوری سوکت دامنه یونیکس را مشخص می‌کند که در آن postgres باید برای اتصالات از سوی برنامه‌های کلاینت گوش فرا دهد. مقدار می‌تواند فهرستی از دایرکتوری‌های جداشده با کاما نیز باشد. یک مقدار خالی مشخص می‌کند که روی هیچ سوکت دامنه یونیکسی گوش داده نشود، که در این حالت تنها از سوکت‌های TCP/IP می‌توان برای اتصال به سرور استفاده کرد. مقدار پیش‌فرض معمولاً /tmp است، اما این مقدار در زمان ساخت (build) قابل تغییر است. مشخص کردن این گزینه معادل با تنظیم پارامتر پیکربندی unix_socket_directories است.

-l

اتصالات امن با استفاده از SSL را فعال می‌کند. PostgreSQL باید با پشتیبانی از SSL کامپایل شده باشد تا این گزینه در دسترس باشد. برای اطلاعات بیشتر در مورد استفاده از SSL، به بخش 18.9 مراجعه کنید.

-N max-connections

حداکثر تعداد اتصالات کلاینت که این سرور خواهد پذیرفت را تنظیم می‌کند. مقدار پیش‌فرض این پارامتر به‌طور خودکار توسط initdb انتخاب می‌شود. مشخص کردن این گزینه معادل با تنظیم پارامتر پیکربندی max_connections است.

-p port

پورت TCP/IP یا پسوند فایل سوکت محلی دامنه یونیکس را مشخص می‌کند که در آن postgres باید برای اتصالات از سوی برنامه‌های کلاینت گوش فرا دهد. مقدار پیش‌فرض برابر با مقدار متغیر محیطی PGPORT است، یا اگر PGPORT تنظیم نشده باشد، برابر با مقداری است که در حین کامپایل تعیین شده است (معمولاً 5432). اگر پورتی غیر از پورت پیش‌فرض مشخص کنید، همهٔ برنامه‌های کلاینت باید با استفاده از گزینه‌های خط فرمان یا PGPORT همان پورت را مشخص کنند.

-s

اطلاعات زمان و سایر آمارهای مربوطه را در پایان هر دستور چاپ می‌کند. این گزینه برای ارزیابی کارایی (benchmarking) یا تنظیم دقیق تعداد بافرها مفید است.

-S work-mem

میزان پایهٔ حافظهٔ مورد استفاده برای مرتب‌سازی‌ها و جدول‌های درهم‌سازی (hash tables) را پیش از روی آوردن به فایل‌های موقت دیسک مشخص می‌کند. شرح پارامتر پیکربندی work_mem را در بخش 19.4.1 ببینید.

-V
--version

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

--name=value

یک پارامتر زمان اجرای نام‌گذاری‌شده را مقداردهی می‌کند؛ شکل کوتاه‌تری از -c.

--describe-config

این گزینه متغیرهای پیکربندی داخلی، توضیحات و مقادیر پیش‌فرض سرور را در قالب COPY با جداکنندهٔ تب (tab-delimited) برون‌ریزی می‌کند. این گزینه اساساً برای استفاده توسط ابزارهای مدیریتی طراحی شده است. -?
--help
نمایش راهنما درباره آرگومان‌های خط فرمان postgres و خروج.

گزینه‌هایی که در اینجا شرح داده شده‌اند عمدتاً برای اهداف اشکال‌زدایی و در برخی موارد برای کمک به بازیابی پایگاه‌های داده‌ای که آسیب شدید دیده‌اند استفاده می‌شوند. هیچ دلیلی برای استفاده از آن‌ها در محیط‌های عملیاتی پایگاه داده وجود ندارد. این گزینه‌ها در اینجا صرفاً برای استفاده توسعه‌دهندگان سیستم PostgreSQL فهرست شده‌اند. علاوه بر این، ممکن است این گزینه‌ها در نسخه‌های آتی بدون اطلاع قبلی تغییر کرده یا حذف شوند.

-f { s | i | o | b | t | n | m | h }

استفاده از روش‌های خاص پویش و پیوند را ممنوع می‌کند: s و i به ترتیب پویش‌های ترتیبی و نمایه‌ای را غیرفعال می‌کنند، o، b و t به ترتیب پویش‌های فقط-نمایه، پویش‌های نمایه بیت‌مپ و پویش‌های TID را غیرفعال می‌کنند، در حالی که n، m و h به ترتیب پیوندهای nested-loop، merge و hash را غیرفعال می‌سازند.

نه پویش‌های ترتیبی و نه پیوندهای nested-loop را نمی‌توان به طور کامل غیرفعال کرد؛ گزینه‌های -fs و -fn صرفاً بهینه‌ساز را در صورتی که گزینه جایگزین دیگری داشته باشد، از به‌کارگیری آن نوع طرح‌ها منصرف می‌کنند.

-O

امکان تغییر ساختار جدول‌های سیستمی را فراهم می‌کند. این گزینه توسط initdb استفاده می‌شود.

-P

هنگام خواندن جدول‌های سیستمی، نمایه‌های سیستم نادیده گرفته می‌شوند، اما همچنان هنگام تغییر جدول‌ها، نمایه‌ها به‌روزرسانی می‌گردند. این ویژگی هنگام بازیابی از نمایه‌های سیستمی آسیب‌دیده مفید است.

-t pa[rser] | pl[anner] | e[xecutor]

چاپ آمار زمان‌بندی برای هر پرس‌وجو مربوط به هر یک از ماژول‌های اصلی سیستم. این گزینه نمی‌تواند همراه با گزینه -s استفاده شود.

-T

این گزینه برای اشکال‌زدایی مشکلاتی است که باعث توقف غیرعادی یک فرآیند سرور می‌شوند. راهبرد معمول در این وضعیت، آگاه کردن تمام فرآیندهای دیگر سرور از لزوم پایان یافتن، از طریق ارسال سیگنال‌های SIGQUIT به آن‌ها است. با این گزینه، به‌جای آن SIGABRT ارسال خواهد شد که منجر به تولید فایل‌های core dump می‌شود.

-v protocol

شماره نسخه پروتکل frontend/backend مورد استفاده برای یک نشست خاص را مشخص می‌کند. این گزینه صرفاً برای استفاده داخلی است.

-W seconds

هنگامی که یک فرآیند سرور جدید آغاز می‌شود، پس از انجام مراحل احراز هویت، تاخیری به میزان این تعداد ثانیه اعمال می‌شود. این گزینه به منظور فراهم آوردن فرصتی برای متصل شدن به فرآیند سرور با یک دیباگر در نظر گرفته شده است.

گزینه‌های زیر فقط در حالت تک‌کاربره اعمال می‌شوند (بخش Single-User Mode را در ادامه ببینید).

--single

حالت تک‌کاربره را انتخاب می‌کند. این باید اولین آرگومان در خط فرمان باشد.

database

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

-E

چاپ تمام دستورها در خروجی استاندارد پیش از اجرای آن‌ها.

-j

استفاده از نقطه-ویرگول به دنبال دو خط جدید، به جای تنها یک خط جدید، به عنوان پایان‌دهنده ورود دستور.

-r filename

ارسال تمام خروجی گزارش‌های سرور به filename. این گزینه فقط زمانی اعمال می‌شود که به عنوان یک گزینه خط فرمان مشخص شده باشد.

PGCLIENTENCODING

کدگذاری نویسهٔ پیش‌فرض مورد استفاده توسط کلاینت‌ها. (کلاینت‌ها می‌توانند این مقدار را به‌صورت جداگانه بازنویسی کنند.) این مقدار می‌تواند در فایل پیکربندی نیز تنظیم شود.

PGDATA

مکان پیش‌فرض دایرکتوری داده‌ها

PGDATESTYLE

مقدار پیش‌فرض پارامتر زمان اجرای DateStyle. (استفاده از این متغیر محیطی منسوخ شده است.)

PGPORT

شماره پورت پیش‌فرض (ترجیحاً در فایل پیکربندی تنظیم شود)

پیام خطایی که در آن به semget یا shmget اشاره شده است، احتمالاً نشان‌دهندهٔ این است که باید هستهٔ خود را برای فراهم کردن حافظهٔ اشتراکی و سمافورهای کافی پیکربندی کنید. برای توضیحات بیشتر، به Section 18.4 مراجعه کنید. ممکن است بتوانید با کاهش دادن shared_buffers برای کاهش مصرف حافظهٔ اشتراکی PostgreSQL، و/یا با کاهش دادن max_connections برای کاهش مصرف سمافورها، پیکربندی مجدد هستهٔ خود را به تعویق بیندازید.

پیام خطایی مبنی بر اینکه سرور دیگری در حال حاضر در حال اجرا است باید با دقت بررسی شود، برای نمونه با استفاده از دستور

$ ps ax | grep postgres

یا

$ ps -ef | grep postgres

بسته به سیستم شما. اگر اطمینان دارید که هیچ سرورِ متداخلی در حال اجرا نیست، می‌توانید فایل قفل ذکرشده در پیام را حذف کرده و دوباره تلاش کنید.

پیام خطایی مبنی بر ناتوانی در متصل شدن به یک پورت (bind) ممکن است نشان دهد که آن پورت از قبل توسط فرایندی غیر-PostgreSQL در حال استفاده است. همچنین اگر postgres را خاتمه داده و بلافاصله با استفاده از همان پورت دوباره راه‌اندازی کنید، ممکن است با این خطا مواجه شوید؛ در این حالت، کافی است پیش از تلاش دوباره، چند ثانیه صبر کنید تا سیستم‌عامل پورت را ببندد. در نهایت، اگر شماره پورتی را مشخص کنید که سیستم‌عامل شما آن را رزروشده تلقی می‌کند، ممکن است این خطا رخ دهد. برای مثال، بسیاری از نسخه‌های Unix شماره پورت‌های زیر 1024 را “قابل اعتماد” در نظر می‌گیرند و تنها به کاربر ریشهٔ (superuser) Unix اجازهٔ دسترسی به آن‌ها را می‌دهند.

دستور کمکی pg_ctl(1) می‌تواند برای راه‌اندازی و خاموش کردن ایمن و راحت سرور postgres به کار رود.

در صورت امکان، به هیچ وجه از SIGKILL برای خاتمه دادن به سرور اصلی postgres استفاده نکنید. انجام این کار مانع از آن می‌شود که postgres منابع سیستمی تحت اختیار خود (مانند حافظهٔ اشتراکی و سمافورها) را پیش از پایان کار آزاد کند. این موضوع ممکن است هنگام راه‌اندازی مجدد و تازهٔ postgres باعث بروز مشکلاتی شود.

برای خاتمه دادن عادی به سرور postgres، می‌توان از سیگنال‌های SIGTERM، SIGINT یا SIGQUIT استفاده کرد. سیگنال نخست پیش از خروج، منتظر پایان کار تمام کلاینت‌ها می‌ماند، دومی اتصال همهٔ کلاینت‌ها را به اجبار قطع می‌کند، و سومی بدون خاموش‌سازی مناسب بلافاصله خارج می‌شود که منجر به اجرای عملیات بازیابی در هنگام راه‌اندازی مجدد خواهد شد.

سیگنال SIGHUP فایل‌های پیکربندی سرور را مجدداً بارگذاری می‌کند. همچنین ارسال SIGHUP به یک فرایند مجزای سرور امکان‌پذیر است، اما معمولاً این کار منطقی نیست.

برای لغو یک پرس‌وجوی در حال اجرا، سیگنال SIGINT را به فرایند مجری آن دستور ارسال کنید. برای پایان دادن تمیز به یک فرایند پس‌زمینه (backend)، سیگنال SIGTERM را به آن فرایند بفرستید. همچنین برای معادل‌های قابل فراخوانی در SQL این دو عمل، به pg_cancel_backend و pg_terminate_backend در Section 9.28.2 مراجعه کنید.

سرور postgres از SIGQUIT استفاده می‌کند تا به فرایندهای فرعی سرور اعلام کند بدون پاک‌سازی عادی خاتمه یابند. این سیگنال نباید توسط کاربران استفاده شود. همچنین ارسال SIGKILL به یک فرایند سرور نامعقول است — فرایند اصلی postgres این را به عنوان یک فروپاشی (crash) تفسیر خواهد کرد و به عنوان بخشی از روال استاندارد بازیابی از فروپاشی (crash-recovery)، تمامی فرایندهای همتا (sibling) را مجبور به خروج می‌کند..SH "گزارش باگ‌ها (BUGS)"

گزینه‌های -- روی FreeBSD یا OpenBSD کار نخواهند کرد. در عوض از -c استفاده کنید. این یک اشکال در سیستم‌عامل‌های مذکور است؛ چنانچه این مشکل برطرف نشود، در نسخه‌های آیندهٔ PostgreSQL یک راه‌حل جایگزین ارائه خواهد شد.

برای راه‌اندازی سرور در حالت تک‌کاربره، از دستوری مانند زیر استفاده کنید:

postgres --single -D /usr/local/pgsql/data other-options my_database

مسیر درست به دایرکتوری پایگاه داده را با -D مشخص کنید، یا مطمئن شوید که متغیر محیطی PGDATA تنظیم شده باشد. همچنین نام پایگاه دادهٔ مورد نظری را که می‌خواهید در آن کار کنید، مشخص نمایید.

به‌طور معمول، سرورِ حالت تک‌کاربره، خط جدید (newline) را به عنوان پایان‌دهندهٔ ورود دستور در نظر می‌گیرد؛ برخلاف psql، هیچ هوشمندی نسبت به نقطه‌ویرگول‌ها ندارد. برای امتداد دادن یک دستور در چندین خط، باید دقیقاً قبل از هر خط جدید (به جز آخرین خط)، یک بک‌اسلش وارد کنید. بک‌اسلش و خط جدید مجاور آن، هر دو از دستور ورودی حذف می‌شوند. توجه داشته باشید که این عمل حتی درون یک رشتهٔ متنی یا کامنت نیز رخ خواهد داد.

اما اگر از سوییچ خط فرمان -j استفاده کنید، یک خط جدید به تنهایی باعث خاتمهٔ ورود دستور نمی‌شود؛ بلکه توالی نقطه‌ویرگول-خط‌جدید-خط‌جدید این کار را انجام می‌دهد. بدین معنا که یک نقطه‌ویرگول تایپ کرده و بلافاصله پس از آن یک خط کاملاً خالی قرار دهید. در این حالت با ترکیب بک‌اسلش-خط‌جدید رفتار ویژه‌ای نخواهد شد. باز هم تأکید می‌شود که هیچ هوشمندی دربارهٔ قرار گرفتن چنین توالی‌ای در داخل یک رشتهٔ متنی یا کامنت وجود ندارد.

در هر دو حالت ورودی، اگر نقطه‌ویرگولی تایپ کنید که دقیقاً قبل از پایان‌دهندهٔ ورود دستور نبوده یا بخشی از آن نباشد، به عنوان جداکنندهٔ دستور در نظر گرفته می‌شود. هنگامی که پایان‌دهندهٔ ورود دستور را وارد می‌کنید، تمام عبارت‌های متعددی که وارد کرده‌اید در قالب یک تراکنشِ واحد اجرا خواهند شد.

برای خروج از نشست، EOF (معمولاً Control+D) را وارد کنید. اگر پس از آخرین پایان‌دهندهٔ ورود دستور، متنی وارد کرده باشید، آنگاه EOF به عنوان پایان‌دهندهٔ ورود دستور در نظر گرفته می‌شود، و برای خروج به یک EOF دیگر نیاز خواهد بود.

توجه داشته باشید که سرور حالت تک‌کاربره، ویژگی‌های پیشرفتهٔ ویرایش خط را فراهم نمی‌کند (برای نمونه، تاریخچهٔ دستورات وجود ندارد). حالت تک‌کاربره همچنین هیچ پردازش پس‌زمینه‌ای مانند checkpointهای خودکار یا رونوشت‌سازی (replication) را انجام نمی‌دهد.

برای راه‌اندازی postgres در پس‌زمینه با استفاده از مقادیر پیش‌فرض، این دستور را تایپ کنید:

$ nohup postgres >logfile 2>&1 </dev/null &

برای راه‌اندازی postgres با یک پورت خاص، مثلاً 1234:

$ postgres -p 1234

برای اتصال به این سرور با استفاده از psql، این پورت را با گزینهٔ -p مشخص کنید:

$ psql -p 1234

یا متغیر محیطی PGPORT را تنظیم نمایید:

$ export PGPORT=1234
$ psql

پارامترهای زمان اجرای نام‌گذاری‌شده را می‌توان به هر یک از این دو شیوه تنظیم کرد:

$ postgres -c work_mem=1234
$ postgres --work-mem=1234

هر یک از این دو حالت، بر هر تنظیمی که ممکن است برای work_mem در postgresql.conf وجود داشته باشد، اولویت خواهد داشت و آن را بازنویسی می‌کند. توجه کنید که در خط فرمان، زیرخط‌ها (underscores) در نام پارامترها را می‌توان هم با زیرخط و هم با خط تیره نوشت. به جز در آزمایش‌های کوتاه‌مدت، احتمالاً ویرایش تنظیمات در postgresql.conf روش بهتری نسبت به تکیه بر سوییچ خط فرمان برای تعیین مقدار یک پارامتر است..SH "همچنین ببینید (SEE ALSO)"

initdb(1), pg_ctl(1)

2026 PostgreSQL 18.6