'\" t .\" Title: postgres .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 .\" Manual: PostgreSQL 18.6 Documentation .\" Source: PostgreSQL 18.6 .\" Language: English .\" .TH "POSTGRES" "1" "2026" "PostgreSQL 18.6" "PostgreSQL 18.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" postgres \- کارساز پایگاه‌داده PostgreSQL .SH "خلاصه دستور (SYNOPSIS)" .HP \w'\fBpostgres\fR\ 'u \fBpostgres\fR [\fIگزینه\fR...] .SH "توضیحات (DESCRIPTION)" .PP \fBpostgres\fR کارساز پایگاه‌داده PostgreSQL است\&. برای اینکه یک برنامه کلاینت به پایگاه‌داده دسترسی پیدا کند، (از طریق شبکه یا به صورت محلی) به یک نمونه در حال اجرای \fBpostgres\fR متصل می‌شود\&. سپس نمونه \fBpostgres\fR یک پردازه کارساز جداگانه را برای رسیدگی به این اتصال آغاز می‌کند\&. .PP یک نمونه \fBpostgres\fR همواره داده‌های دقیقاً یک خوشه پایگاه‌داده را مدیریت می‌کند\&. یک خوشه پایگاه‌داده مجموعه‌ای از پایگاه‌های داده است که در یک مکان مشترک در سیستم‌فایل (تحت عنوان \(lqناحیه داده\(rq) ذخیره شده است\&. تا زمانی که از نواحی داده متفاوت و درگاه‌های ارتباطی مختلفی استفاده شود (به زیر مراجعه کنید)، بیش از یک نمونه \fBpostgres\fR می‌تواند به طور هم‌زمان روی یک سیستم اجرا شود\&. هنگامی که \fBpostgres\fR آغاز به کار می‌کند، باید از مکان ناحیه داده آگاه باشد\&. این مکان باید توسط گزینه \fB\-D\fR یا متغیر محیطی \fBPGDATA\fR مشخص شود؛ هیچ پیش‌فرضی وجود ندارد\&. به‌طور معمول، \fB\-D\fR یا \fBPGDATA\fR مستقیماً به دایرکتوری ناحیه داده که توسط \fBinitdb\fR(1) ایجاد شده است اشاره می‌کند\&. سایر ساختارهای ممکن برای فایل‌ها در بخش\ \&19.2 بررسی شده‌اند\&. .PP به‌طور پیش‌فرض \fBpostgres\fR در پیش‌زمینه آغاز به کار می‌کند و پیام‌های گزارش را به جریان خطای استاندارد می‌فرستد\&. در کاربردهای عملی، \fBpostgres\fR باید به عنوان یک پردازه پس‌زمینه، برای نمونه هنگام بوت سیستم، اجرا شود\&. .PP دستور \fBpostgres\fR همچنین می‌تواند در حالت تک‌کاربره فراخوانی شود\&. کاربرد اصلی این حالت هنگام راه‌اندازی اولیه (bootstrapping) توسط \fBinitdb\fR(1) است\&. گاهی اوقات برای اشکال‌زدایی یا بازیابی پس از سانحه استفاده می‌شود؛ توجه داشته باشید که اجرای کارساز در حالت تک‌کاربره برای اشکال‌زدایی کارساز واقعاً مناسب نیست، چرا که هیچ ارتباط بین‌پردازه‌ای و قفل‌گذاری واقع‌بینانه‌ای صورت نمی‌پذیرد\&. در صورت فراخوانی در حالت تک‌کاربره از پوسته، کاربر می‌تواند پرس‌وجوها را وارد کند و نتایج روی صفحه نمایش چاپ می‌شوند، اما در قالبی که بیشتر برای توسعه‌دهندگان مفید است تا کاربران نهایی\&. در حالت تک‌کاربره، کاربر نشست روی کاربری با شناسه ۱ (ID 1) تنظیم می‌شود و اختیارات ضمنی مدیر سیستم (superuser) به این کاربر اعطا می‌گردد\&. این کاربر در عمل نیازی نیست وجود داشته باشد، بنابراین می‌توان از حالت تک‌کاربره برای بازیابی دستی انواع خاصی از آسیب‌های تصادفی به کاتالوگ‌های سیستم استفاده کرد\&. .SH "گزینه‌ها (OPTIONS)" .PP \fBpostgres\fR آرگومان‌های خط فرمان زیر را می‌پذیرد\&. برای بررسی دقیق گزینه‌ها به فصل\ \&19 مراجعه کنید\&. می‌توانید با برپایی یک فایل پیکربندی از تایپ بیشتر این گزینه‌ها بی‌نیاز شوید\&. برخی از گزینه‌ها (گزینه‌های امن) همچنین می‌توانند از طرف کلاینت متصل‌شونده، بسته به برنامه به نحوی تنظیم شوند که فقط برای همان نشست اعمال گردند\&. برای نمونه، اگر متغیر محیطی \fBPGOPTIONS\fR تنظیم شده باشد، کلاینت‌های مبتنی بر libpq آن رشته را به کارساز ارسال می‌کنند و کارساز آن را به عنوان گزینه‌های خط فرمان \fBpostgres\fR تفسیر خواهد کرد\&..SS "کاربرد عمومی (General Purpose)" .PP \fB\-B \fR\fB\fInbuffers\fR\fR .RS 4 تعداد بافرهای اشتراکی را برای استفاده توسط پردازش‌های سرور تنظیم می‌کند\&. مقدار پیش‌فرض این پارامتر به‌طور خودکار توسط initdb انتخاب می‌شود\&. مشخص کردن این گزینه معادل با تنظیم پارامتر پیکربندی shared_buffers است\&. .RE .PP \fB\-c \fR\fB\fIname\fR\fR\fB=\fR\fB\fIvalue\fR\fR .RS 4 یک پارامتر زمان اجرای نام‌گذاری‌شده را مقداردهی می‌کند\&. پارامترهای پیکربندی پشتیبانی‌شده توسط PostgreSQL در فصل\ \&19 شرح داده شده‌اند\&. بیشتر گزینه‌های دیگر خط فرمان در واقع فرم کوتاه‌شدهٔ چنین انتساب پارامتری هستند\&. \fB\-c\fR می‌تواند چندین بار برای تنظیم چندین پارامتر تکرار شود\&. .RE .PP \fB\-C \fR\fB\fIname\fR\fR .RS 4 مقدار پارامتر زمان اجرای نام‌برده‌شده را چاپ کرده و خارج می‌شود\&. (برای جزئیات به گزینهٔ \fB\-c\fR در بالا مراجعه کنید\&.) این گزینه مقادیر را از postgresql\&.conf، با اعمال تغییرات ناشی از هر پارامتری که در این فراخوانی ارائه شده است، برمی‌گرداند\&. این مقادیر بازتاب‌دهندهٔ پارامترهای ارائه‌شده در زمان راه‌اندازی کلاستر نیستند\&. .sp از این گزینه می‌توان روی یک سرور در حال اجرا برای بیشتر پارامترها استفاده کرد\&. با این حال، سرور باید برای برخی پارامترهای محاسبه‌شده در زمان اجرا (مانند shared_memory_size، shared_memory_size_in_huge_pages و wal_segment_size) خاموش باشد\&. .sp این گزینه برای برنامه‌های دیگری در نظر گرفته شده است که با یک نمونهٔ سرور در تعامل هستند، مانند \fBpg_ctl\fR(1)، تا مقادیر پارامترهای پیکربندی را پرس‌وجو کنند\&. برنامه‌های کاربرمحور باید در عوض از \fBSHOW\fR یا نمای pg_settings استفاده کنند\&. .RE .PP \fB\-d \fR\fB\fIdebug\-level\fR\fR .RS 4 سطح اشکال‌زدایی (debug level) را تنظیم می‌کند\&. هرچه این مقدار بالاتر تنظیم شود، خروجی اشکال‌زدایی بیشتری در لاگ سرور نوشته می‌شود\&. مقادیر از 1 تا 5 هستند\&. همچنین می‌توان \-d 0 را برای یک نشست خاص ارسال کرد، که از انتشار سطح لاگ سرورِ پردازش والد \fBpostgres\fR به این نشست جلوگیری می‌کند\&. .RE .PP \fB\-D \fR\fB\fIdatadir\fR\fR .RS 4 مکان فایل‌های پیکربندی پایگاه داده را در سیستم فایل مشخص می‌کند\&. برای جزئیات به بخش\ \&19.2 مراجعه کنید\&. .RE .PP \fB\-e\fR .RS 4 سبک پیش‌فرض تاریخ را روی \(lqEuropean\(rq (اروپایی) تنظیم می‌کند، یعنی ترتیب DMY برای فیلدهای ورودی تاریخ\&. این همچنین باعث می‌شود در برخی قالب‌های خروجی تاریخ، روز قبل از ماه چاپ شود\&. برای اطلاعات بیشتر به بخش\ \&8.5 مراجعه کنید\&. .RE .PP \fB\-F\fR .RS 4 فراخوانی‌های \fBfsync\fR را برای بهبود کارایی غیرفعال می‌کند، به قیمت خطر خرابی داده‌ها در صورت فروپاشی (crash) سیستم\&. مشخص کردن این گزینه معادل با غیرفعال کردن پارامتر پیکربندی fsync است\&. پیش از استفاده از این گزینه، مستندات تفصیلی را مطالعه کنید! .RE .PP \fB\-h \fR\fB\fIhostname\fR\fR .RS 4 نام هاست یا آدرس IP که در آن \fBpostgres\fR باید برای اتصالات TCP/IP از سوی برنامه‌های کلاینت گوش فرا دهد را مشخص می‌کند\&. مقدار می‌تواند فهرستی از آدرس‌های جداشده با کاما، یا * برای گوش دادن روی تمام رابط‌های موجود باشد\&. یک مقدار خالی مشخص می‌کند که روی هیچ آدرس IP گوش داده نشود، که در این حالت تنها می‌توان از سوکت‌های دامنه یونیکس (Unix\-domain sockets) برای اتصال به سرور استفاده کرد\&. مقدار پیش‌فرض گوش دادن تنها روی localhost است\&. مشخص کردن این گزینه معادل با تنظیم پارامتر پیکربندی listen_addresses است\&. .RE .PP \fB\-i\fR .RS 4 به کلاینت‌های راه دور اجازه می‌دهد از طریق اتصالات TCP/IP (دامنه اینترنت) متصل شوند\&. بدون این گزینه، تنها اتصالات محلی پذیرفته می‌شوند\&. این گزینه معادل با تنظیم \fIlisten_addresses\fR روی * در postgresql\&.conf یا از طریق \fB\-h\fR است\&. .sp این گزینه منسوخ شده است زیرا امکان دسترسی به تمام قابلیت‌های listen_addresses را فراهم نمی‌کند\&. معمولاً بهتر است \fIlisten_addresses\fR مستقیماً تنظیم شود\&. .RE .PP \fB\-k \fR\fB\fIdirectory\fR\fR .RS 4 دایرکتوری سوکت دامنه یونیکس را مشخص می‌کند که در آن \fBpostgres\fR باید برای اتصالات از سوی برنامه‌های کلاینت گوش فرا دهد\&. مقدار می‌تواند فهرستی از دایرکتوری‌های جداشده با کاما نیز باشد\&. یک مقدار خالی مشخص می‌کند که روی هیچ سوکت دامنه یونیکسی گوش داده نشود، که در این حالت تنها از سوکت‌های TCP/IP می‌توان برای اتصال به سرور استفاده کرد\&. مقدار پیش‌فرض معمولاً /tmp است، اما این مقدار در زمان ساخت (build) قابل تغییر است\&. مشخص کردن این گزینه معادل با تنظیم پارامتر پیکربندی unix_socket_directories است\&. .RE .PP \fB\-l\fR .RS 4 اتصالات امن با استفاده از SSL را فعال می‌کند\&. PostgreSQL باید با پشتیبانی از SSL کامپایل شده باشد تا این گزینه در دسترس باشد\&. برای اطلاعات بیشتر در مورد استفاده از SSL، به بخش\ \&18.9 مراجعه کنید\&. .RE .PP \fB\-N \fR\fB\fImax\-connections\fR\fR .RS 4 حداکثر تعداد اتصالات کلاینت که این سرور خواهد پذیرفت را تنظیم می‌کند\&. مقدار پیش‌فرض این پارامتر به‌طور خودکار توسط initdb انتخاب می‌شود\&. مشخص کردن این گزینه معادل با تنظیم پارامتر پیکربندی max_connections است\&. .RE .PP \fB\-p \fR\fB\fIport\fR\fR .RS 4 پورت TCP/IP یا پسوند فایل سوکت محلی دامنه یونیکس را مشخص می‌کند که در آن \fBpostgres\fR باید برای اتصالات از سوی برنامه‌های کلاینت گوش فرا دهد\&. مقدار پیش‌فرض برابر با مقدار متغیر محیطی \fBPGPORT\fR است، یا اگر \fBPGPORT\fR تنظیم نشده باشد، برابر با مقداری است که در حین کامپایل تعیین شده است (معمولاً 5432)\&. اگر پورتی غیر از پورت پیش‌فرض مشخص کنید، همهٔ برنامه‌های کلاینت باید با استفاده از گزینه‌های خط فرمان یا \fBPGPORT\fR همان پورت را مشخص کنند\&. .RE .PP \fB\-s\fR .RS 4 اطلاعات زمان و سایر آمارهای مربوطه را در پایان هر دستور چاپ می‌کند\&. این گزینه برای ارزیابی کارایی (benchmarking) یا تنظیم دقیق تعداد بافرها مفید است\&. .RE .PP \fB\-S\fR \fIwork\-mem\fR .RS 4 میزان پایهٔ حافظهٔ مورد استفاده برای مرتب‌سازی‌ها و جدول‌های درهم‌سازی (hash tables) را پیش از روی آوردن به فایل‌های موقت دیسک مشخص می‌کند\&. شرح پارامتر پیکربندی \fIwork_mem\fR را در بخش\ \&19.4.1 ببینید\&. .RE .PP \fB\-V\fR .br \fB\-\-version\fR .RS 4 نسخهٔ postgres را چاپ کرده و خارج می‌شود\&. .RE .PP \fB\-\-\fR\fB\fIname\fR\fR\fB=\fR\fB\fIvalue\fR\fR .RS 4 یک پارامتر زمان اجرای نام‌گذاری‌شده را مقداردهی می‌کند؛ شکل کوتاه‌تری از \fB\-c\fR\&. .RE .PP \fB\-\-describe\-config\fR .RS 4 این گزینه متغیرهای پیکربندی داخلی، توضیحات و مقادیر پیش‌فرض سرور را در قالب \fBCOPY\fR با جداکنندهٔ تب (tab\-delimited) برون‌ریزی می‌کند\&. این گزینه اساساً برای استفاده توسط ابزارهای مدیریتی طراحی شده است\&. .RE.PP \fB\-?\fR .br \fB\-\-help\fR .RS 4 نمایش راهنما درباره آرگومان‌های خط فرمان postgres و خروج\&. .RE .SS "گزینه‌های نیمه‌داخلی (Semi\-Internal Options)" .PP گزینه‌هایی که در اینجا شرح داده شده‌اند عمدتاً برای اهداف اشکال‌زدایی و در برخی موارد برای کمک به بازیابی پایگاه‌های داده‌ای که آسیب شدید دیده‌اند استفاده می‌شوند\&. هیچ دلیلی برای استفاده از آن‌ها در محیط‌های عملیاتی پایگاه داده وجود ندارد\&. این گزینه‌ها در اینجا صرفاً برای استفاده توسعه‌دهندگان سیستم PostgreSQL فهرست شده‌اند\&. علاوه بر این، ممکن است این گزینه‌ها در نسخه‌های آتی بدون اطلاع قبلی تغییر کرده یا حذف شوند\&. .PP \fB\-f\fR { s | i | o | b | t | n | m | h } .RS 4 استفاده از روش‌های خاص پویش و پیوند را ممنوع می‌کند: s و i به ترتیب پویش‌های ترتیبی و نمایه‌ای را غیرفعال می‌کنند، o، b و t به ترتیب پویش‌های فقط-نمایه، پویش‌های نمایه بیت‌مپ و پویش‌های TID را غیرفعال می‌کنند، در حالی که n، m و h به ترتیب پیوندهای nested\-loop، merge و hash را غیرفعال می‌سازند\&. .sp نه پویش‌های ترتیبی و نه پیوندهای nested\-loop را نمی‌توان به طور کامل غیرفعال کرد؛ گزینه‌های \-fs و \-fn صرفاً بهینه‌ساز را در صورتی که گزینه جایگزین دیگری داشته باشد، از به‌کارگیری آن نوع طرح‌ها منصرف می‌کنند\&. .RE .PP \fB\-O\fR .RS 4 امکان تغییر ساختار جدول‌های سیستمی را فراهم می‌کند\&. این گزینه توسط \fBinitdb\fR استفاده می‌شود\&. .RE .PP \fB\-P\fR .RS 4 هنگام خواندن جدول‌های سیستمی، نمایه‌های سیستم نادیده گرفته می‌شوند، اما همچنان هنگام تغییر جدول‌ها، نمایه‌ها به‌روزرسانی می‌گردند\&. این ویژگی هنگام بازیابی از نمایه‌های سیستمی آسیب‌دیده مفید است\&. .RE .PP \fB\-t\fR pa[rser] | pl[anner] | e[xecutor] .RS 4 چاپ آمار زمان‌بندی برای هر پرس‌وجو مربوط به هر یک از ماژول‌های اصلی سیستم\&. این گزینه نمی‌تواند همراه با گزینه \fB\-s\fR استفاده شود\&. .RE .PP \fB\-T\fR .RS 4 این گزینه برای اشکال‌زدایی مشکلاتی است که باعث توقف غیرعادی یک فرآیند سرور می‌شوند\&. راهبرد معمول در این وضعیت، آگاه کردن تمام فرآیندهای دیگر سرور از لزوم پایان یافتن، از طریق ارسال سیگنال‌های SIGQUIT به آن‌ها است\&. با این گزینه، به‌جای آن SIGABRT ارسال خواهد شد که منجر به تولید فایل‌های core dump می‌شود\&. .RE .PP \fB\-v\fR \fIprotocol\fR .RS 4 شماره نسخه پروتکل frontend/backend مورد استفاده برای یک نشست خاص را مشخص می‌کند\&. این گزینه صرفاً برای استفاده داخلی است\&. .RE .PP \fB\-W\fR \fIseconds\fR .RS 4 هنگامی که یک فرآیند سرور جدید آغاز می‌شود، پس از انجام مراحل احراز هویت، تاخیری به میزان این تعداد ثانیه اعمال می‌شود\&. این گزینه به منظور فراهم آوردن فرصتی برای متصل شدن به فرآیند سرور با یک دیباگر در نظر گرفته شده است\&. .RE .SS "گزینه‌های حالت تک‌کاربره (Options for Single\-User Mode)" .PP گزینه‌های زیر فقط در حالت تک‌کاربره اعمال می‌شوند (بخش Single-User Mode را در ادامه ببینید)\&. .PP \fB\-\-single\fR .RS 4 حالت تک‌کاربره را انتخاب می‌کند\&. این باید اولین آرگومان در خط فرمان باشد\&. .RE .PP \fIdatabase\fR .RS 4 نام پایگاه داده‌ای که باید به آن دسترسی پیدا کرد را مشخص می‌کند\&. این باید آخرین آرگومان در خط فرمان باشد\&. در صورت حذف شدن، پیش‌فرض آن نام کاربری خواهد بود\&. .RE .PP \fB\-E\fR .RS 4 چاپ تمام دستورها در خروجی استاندارد پیش از اجرای آن‌ها\&. .RE .PP \fB\-j\fR .RS 4 استفاده از نقطه-ویرگول به دنبال دو خط جدید، به جای تنها یک خط جدید، به عنوان پایان‌دهنده ورود دستور\&. .RE .PP \fB\-r\fR \fIfilename\fR .RS 4 ارسال تمام خروجی گزارش‌های سرور به \fIfilename\fR\&. این گزینه فقط زمانی اعمال می‌شود که به عنوان یک گزینه خط فرمان مشخص شده باشد\&. .RE.SH "محیط (ENVIRONMENT)" .PP \fBPGCLIENTENCODING\fR .RS 4 کدگذاری نویسهٔ پیش‌فرض مورد استفاده توسط کلاینت‌ها\&. (کلاینت‌ها می‌توانند این مقدار را به‌صورت جداگانه بازنویسی کنند\&.) این مقدار می‌تواند در فایل پیکربندی نیز تنظیم شود\&. .RE .PP \fBPGDATA\fR .RS 4 مکان پیش‌فرض دایرکتوری داده‌ها .RE .PP \fBPGDATESTYLE\fR .RS 4 مقدار پیش‌فرض پارامتر زمان اجرای DateStyle\&. (استفاده از این متغیر محیطی منسوخ شده است\&.) .RE .PP \fBPGPORT\fR .RS 4 شماره پورت پیش‌فرض (ترجیحاً در فایل پیکربندی تنظیم شود) .RE .SH "عیب‌یابی (DIAGNOSTICS)" .PP پیام خطایی که در آن به semget یا shmget اشاره شده است، احتمالاً نشان‌دهندهٔ این است که باید هستهٔ خود را برای فراهم کردن حافظهٔ اشتراکی و سمافورهای کافی پیکربندی کنید\&. برای توضیحات بیشتر، به Section\ \&18.4 مراجعه کنید\&. ممکن است بتوانید با کاهش دادن shared_buffers برای کاهش مصرف حافظهٔ اشتراکی PostgreSQL، و/یا با کاهش دادن max_connections برای کاهش مصرف سمافورها، پیکربندی مجدد هستهٔ خود را به تعویق بیندازید\&. .PP پیام خطایی مبنی بر اینکه سرور دیگری در حال حاضر در حال اجرا است باید با دقت بررسی شود، برای نمونه با استفاده از دستور .sp .if n \{\ .RS 4 .\} .nf $ \fBps ax | grep postgres\fR .fi .if n \{\ .RE .\} .sp یا .sp .if n \{\ .RS 4 .\} .nf $ \fBps \-ef | grep postgres\fR .fi .if n \{\ .RE .\} .sp بسته به سیستم شما\&. اگر اطمینان دارید که هیچ سرورِ متداخلی در حال اجرا نیست، می‌توانید فایل قفل ذکرشده در پیام را حذف کرده و دوباره تلاش کنید\&. .PP پیام خطایی مبنی بر ناتوانی در متصل شدن به یک پورت (bind) ممکن است نشان دهد که آن پورت از قبل توسط فرایندی غیر\-PostgreSQL در حال استفاده است\&. همچنین اگر \fBpostgres\fR را خاتمه داده و بلافاصله با استفاده از همان پورت دوباره راه‌اندازی کنید، ممکن است با این خطا مواجه شوید؛ در این حالت، کافی است پیش از تلاش دوباره، چند ثانیه صبر کنید تا سیستم‌عامل پورت را ببندد\&. در نهایت، اگر شماره پورتی را مشخص کنید که سیستم‌عامل شما آن را رزروشده تلقی می‌کند، ممکن است این خطا رخ دهد\&. برای مثال، بسیاری از نسخه‌های Unix شماره پورت‌های زیر 1024 را \(lqقابل اعتماد\(rq در نظر می‌گیرند و تنها به کاربر ریشهٔ (superuser) Unix اجازهٔ دسترسی به آن‌ها را می‌دهند\&. .SH "نکات (NOTES)" .PP دستور کمکی \fBpg_ctl\fR(1) می‌تواند برای راه‌اندازی و خاموش کردن ایمن و راحت سرور \fBpostgres\fR به کار رود\&. .PP در صورت امکان، \fIبه هیچ وجه\fR از SIGKILL برای خاتمه دادن به سرور اصلی \fBpostgres\fR استفاده نکنید\&. انجام این کار مانع از آن می‌شود که \fBpostgres\fR منابع سیستمی تحت اختیار خود (مانند حافظهٔ اشتراکی و سمافورها) را پیش از پایان کار آزاد کند\&. این موضوع ممکن است هنگام راه‌اندازی مجدد و تازهٔ \fBpostgres\fR باعث بروز مشکلاتی شود\&. .PP برای خاتمه دادن عادی به سرور \fBpostgres\fR، می‌توان از سیگنال‌های SIGTERM، SIGINT یا SIGQUIT استفاده کرد\&. سیگنال نخست پیش از خروج، منتظر پایان کار تمام کلاینت‌ها می‌ماند، دومی اتصال همهٔ کلاینت‌ها را به اجبار قطع می‌کند، و سومی بدون خاموش‌سازی مناسب بلافاصله خارج می‌شود که منجر به اجرای عملیات بازیابی در هنگام راه‌اندازی مجدد خواهد شد\&. .PP سیگنال SIGHUP فایل‌های پیکربندی سرور را مجدداً بارگذاری می‌کند\&. همچنین ارسال SIGHUP به یک فرایند مجزای سرور امکان‌پذیر است، اما معمولاً این کار منطقی نیست\&. .PP برای لغو یک پرس‌وجوی در حال اجرا، سیگنال SIGINT را به فرایند مجری آن دستور ارسال کنید\&. برای پایان دادن تمیز به یک فرایند پس‌زمینه (backend)، سیگنال SIGTERM را به آن فرایند بفرستید\&. همچنین برای معادل‌های قابل فراخوانی در SQL این دو عمل، به \fBpg_cancel_backend\fR و \fBpg_terminate_backend\fR در Section\ \&9.28.2 مراجعه کنید\&. .PP سرور \fBpostgres\fR از SIGQUIT استفاده می‌کند تا به فرایندهای فرعی سرور اعلام کند بدون پاک‌سازی عادی خاتمه یابند\&. این سیگنال \fIنباید\fR توسط کاربران استفاده شود\&. همچنین ارسال SIGKILL به یک فرایند سرور نامعقول است \(em فرایند اصلی \fBpostgres\fR این را به عنوان یک فروپاشی (crash) تفسیر خواهد کرد و به عنوان بخشی از روال استاندارد بازیابی از فروپاشی (crash\-recovery)، تمامی فرایندهای همتا (sibling) را مجبور به خروج می‌کند\&..SH "گزارش باگ‌ها (BUGS)" .PP گزینه‌های \fB\-\-\fR روی FreeBSD یا OpenBSD کار نخواهند کرد\&. در عوض از \fB\-c\fR استفاده کنید\&. این یک اشکال در سیستم‌عامل‌های مذکور است؛ چنانچه این مشکل برطرف نشود، در نسخه‌های آیندهٔ PostgreSQL یک راه‌حل جایگزین ارائه خواهد شد\&. .SH "حالت تک‌کاربره (SINGLE\-USER MODE)" .PP برای راه‌اندازی سرور در حالت تک‌کاربره، از دستوری مانند زیر استفاده کنید: .sp .if n \{\ .RS 4 .\} .nf \fBpostgres \-\-single \-D /usr/local/pgsql/data \fR\fB\fIother\-options\fR\fR\fB my_database\fR .fi .if n \{\ .RE .\} .sp مسیر درست به دایرکتوری پایگاه داده را با \fB\-D\fR مشخص کنید، یا مطمئن شوید که متغیر محیطی \fBPGDATA\fR تنظیم شده باشد\&. همچنین نام پایگاه دادهٔ مورد نظری را که می‌خواهید در آن کار کنید، مشخص نمایید\&. .PP به‌طور معمول، سرورِ حالت تک‌کاربره، خط جدید (newline) را به عنوان پایان‌دهندهٔ ورود دستور در نظر می‌گیرد؛ برخلاف psql، هیچ هوشمندی نسبت به نقطه‌ویرگول‌ها ندارد\&. برای امتداد دادن یک دستور در چندین خط، باید دقیقاً قبل از هر خط جدید (به جز آخرین خط)، یک بک‌اسلش وارد کنید\&. بک‌اسلش و خط جدید مجاور آن، هر دو از دستور ورودی حذف می‌شوند\&. توجه داشته باشید که این عمل حتی درون یک رشتهٔ متنی یا کامنت نیز رخ خواهد داد\&. .PP اما اگر از سوییچ خط فرمان \fB\-j\fR استفاده کنید، یک خط جدید به تنهایی باعث خاتمهٔ ورود دستور نمی‌شود؛ بلکه توالی نقطه‌ویرگول\-خط‌جدید\-خط‌جدید این کار را انجام می‌دهد\&. بدین معنا که یک نقطه‌ویرگول تایپ کرده و بلافاصله پس از آن یک خط کاملاً خالی قرار دهید\&. در این حالت با ترکیب بک‌اسلش\-خط‌جدید رفتار ویژه‌ای نخواهد شد\&. باز هم تأکید می‌شود که هیچ هوشمندی دربارهٔ قرار گرفتن چنین توالی‌ای در داخل یک رشتهٔ متنی یا کامنت وجود ندارد\&. .PP در هر دو حالت ورودی، اگر نقطه‌ویرگولی تایپ کنید که دقیقاً قبل از پایان‌دهندهٔ ورود دستور نبوده یا بخشی از آن نباشد، به عنوان جداکنندهٔ دستور در نظر گرفته می‌شود\&. هنگامی که پایان‌دهندهٔ ورود دستور را وارد می‌کنید، تمام عبارت‌های متعددی که وارد کرده‌اید در قالب یک تراکنشِ واحد اجرا خواهند شد\&. .PP برای خروج از نشست، EOF (معمولاً Control+D) را وارد کنید\&. اگر پس از آخرین پایان‌دهندهٔ ورود دستور، متنی وارد کرده باشید، آنگاه EOF به عنوان پایان‌دهندهٔ ورود دستور در نظر گرفته می‌شود، و برای خروج به یک EOF دیگر نیاز خواهد بود\&. .PP توجه داشته باشید که سرور حالت تک‌کاربره، ویژگی‌های پیشرفتهٔ ویرایش خط را فراهم نمی‌کند (برای نمونه، تاریخچهٔ دستورات وجود ندارد)\&. حالت تک‌کاربره همچنین هیچ پردازش پس‌زمینه‌ای مانند checkpointهای خودکار یا رونوشت‌سازی (replication) را انجام نمی‌دهد\&. .SH "مثال‌ها (EXAMPLES)" .PP برای راه‌اندازی \fBpostgres\fR در پس‌زمینه با استفاده از مقادیر پیش‌فرض، این دستور را تایپ کنید: .sp .if n \{\ .RS 4 .\} .nf $ \fBnohup postgres >logfile 2>&1