'\" t .\" Title: pg_recvlogical .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 .\" Manual: PostgreSQL 18.6 Documentation .\" Source: PostgreSQL 18.6 .\" Language: Persian .\" .TH "PG_RECVLOGICAL" "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)" pg_recvlogical \- مدیریت جریان‌های رمزگشایی منطقی PostgreSQL .SH "خلاصه دستور (SYNOPSIS)" .HP \w'\fBpg_recvlogical\fR\ 'u \fBpg_recvlogical\fR [\fIگزینه\fR...] .SH "توضیحات (DESCRIPTION)" .PP \fBpg_recvlogical\fR شکاف‌های رونوشت‌برداری رمزگشایی منطقی را کنترل کرده و داده‌ها را از این شکاف‌های رونوشت‌برداری به صورت جریانی دریافت می‌کند\&. .PP این ابزار اتصالی در حالت رونوشت‌برداری ایجاد می‌کند، بنابراین مشمول همان محدودیت‌های \fBpg_receivewal\fR(1) به‌علاوهٔ محدودیت‌های رونوشت‌برداری منطقی است (فصل\ \&47 را ببینید)\&. .PP \fBpg_recvlogical\fR هیچ معادلی برای حالت‌های peek و get در رابط SQL رمزگشایی منطقی ندارد\&. این دستور تأییدیه‌های بازپخش داده‌ها را به صورت تنبل (lazy) هنگام دریافت و در زمان خروج تمیز ارسال می‌کند\&. برای بررسی داده‌های در انتظار در یک شکاف بدون مصرف کردن آن‌ها، از \fBpg_logical_slot_peek_changes\fR استفاده کنید\&. .PP در صورت نبود خطاهای مهلک، pg_recvlogical تا زمانی که توسط سیگنال‌های SIGINT (Control+C) یا SIGTERM متوقف شود، اجرا خواهد شد\&. .PP هنگامی که pg_recvlogical سیگنال SIGHUP را دریافت می‌کند، فایل خروجی فعلی را بسته و فایل جدیدی را با استفاده از نام فایل تعیین‌شده توسط گزینهٔ \fB\-\-file\fR باز می‌کند\&. این ویژگی اجازه می‌دهد تا با تغییر نام فایل فعلی و سپس ارسال سیگنال SIGHUP به pg_recvlogical، فایل خروجی را چرخش (rotate) دهید\&. .SH "گزینه‌ها (OPTIONS)" .PP حداقل یکی از گزینه‌های زیر باید برای انتخاب یک عملیات مشخص شود: .PP \fB\-\-create\-slot\fR .RS 4 یک شکاف رونوشت‌برداری منطقی جدید با نام مشخص‌شده توسط \fB\-\-slot\fR، با استفاده از افزونه خروجی تعیین‌شده توسط \fB\-\-plugin\fR، برای پایگاه داده تعیین‌شده توسط \fB\-\-dbname\fR ایجاد می‌کند\&. .sp گزینه‌های \fB\-\-slot\fR و \fB\-\-dbname\fR برای این عملیات الزامی هستند\&. .sp گزینه‌های \fB\-\-enable\-two\-phase\fR و \fB\-\-enable\-failover\fR را می‌توان همراه با \fB\-\-create\-slot\fR مشخص کرد\&. .RE .PP \fB\-\-drop\-slot\fR .RS 4 شکاف رونوشت‌برداری با نام مشخص‌شده توسط \fB\-\-slot\fR را حذف کرده، سپس خارج می‌شود\&. .sp گزینهٔ \fB\-\-slot\fR برای این عملیات الزامی است\&. .RE .PP \fB\-\-start\fR .RS 4 شروع به دریافت جریانی تغییرات از شکاف رونوشت‌برداری منطقی مشخص‌شده توسط \fB\-\-slot\fR می‌کند و تا زمان متوقف شدن با یک سیگنال ادامه می‌یابد\&. اگر جریان تغییرات سمت سرور با خاموش شدن سرور یا قطع اتصال پایان یابد، دریافت را در یک حلقه تکرار می‌کند مگر اینکه \fB\-\-no\-loop\fR مشخص شده باشد\&. .sp گزینه‌های \fB\-\-slot\fR، \fB\-\-dbname\fR و \fB\-\-file\fR برای این عملیات الزامی هستند\&. .sp قالب جریان توسط افزونه خروجی تعیین‌شده هنگام ایجاد شکاف، مشخص می‌شود\&. .sp اتصال باید به همان پایگاه داده‌ای برقرار شود که برای ایجاد شکاف استفاده شده است\&. .RE .PP می‌توان \fB\-\-create\-slot\fR و \fB\-\-start\fR را با هم مشخص کرد\&. \fB\-\-drop\-slot\fR نمی‌تواند با عملیات دیگری ترکیب شود\&. .PP گزینه‌های خط فرمان زیر مکان و قالب خروجی و سایر رفتارهای رونوشت‌برداری را کنترل می‌کنند: .PP \fB\-E \fR\fB\fIlsn\fR\fR .br \fB\-\-endpos=\fR\fB\fIlsn\fR\fR .RS 4 در حالت \fB\-\-start\fR، هنگامی که دریافت به LSN مشخص‌شده برسد، رونوشت‌برداری را به طور خودکار متوقف کرده و با وضعیت خروج عادی 0 خارج می‌شود\&. اگر در حالتی غیر از \fB\-\-start\fR مشخص شود، یک خطا ایجاد خواهد شد\&. .sp اگر رکوردی با LSN دقیقاً برابر با \fIlsn\fR وجود داشته باشد، آن رکورد در خروجی نوشته خواهد شد\&. .sp گزینهٔ \fB\-\-endpos\fR از مرزهای تراکنش آگاه نیست و ممکن است خروجی را در میانه یک تراکنش قطع کند\&. هر تراکنشی که خروجی آن ناقص باشد مصرف‌شده تلقی نخواهد شد و هنگام خواندن بعدی از شکاف، دوباره بازپخش خواهد شد\&. پیام‌های تکی هرگز بریده نمی‌شوند\&. .RE .PP \fB\-\-enable\-failover\fR .RS 4 همگام‌سازی شکاف با سرورهای آماده‌باش (standbys) را فعال می‌کند\&. این گزینه فقط همراه با \fB\-\-create\-slot\fR قابل تعیین است\&. .RE .PP \fB\-f \fR\fB\fIfilename\fR\fR .br \fB\-\-file=\fR\fB\fIfilename\fR\fR .RS 4 داده‌های تراکنش دریافت‌شده و رمزگشایی‌شده را در این فایل می‌نویسد\&. از \- برای خروجی استاندارد (stdout) استفاده کنید\&. .sp این پارامتر برای \fB\-\-start\fR الزامی است\&. .RE .PP \fB\-F \fR\fB\fIinterval_seconds\fR\fR .br \fB\-\-fsync\-interval=\fR\fB\fIinterval_seconds\fR\fR .RS 4 مشخص می‌کند که pg_recvlogical هر چند وقت یک‌بار باید فراخوانی‌های \fBfsync()\fR را صادر کند تا از تخلیهٔ امن فایل خروجی روی دیسک اطمینان حاصل شود\&. .sp سرور گاهی اوقات از کلاینت درخواست می‌کند که یک تخلیه انجام داده و موقعیت تخلیه را به سرور گزارش دهد\&. این تنظیم افزون بر آن است تا عمل تخلیه با بسامد بیشتری انجام شود\&. .sp مشخص کردن بازهٔ زمانی 0 فراخوانی‌های \fBfsync()\fR را به‌طور کامل غیرفعال می‌کند، در حالی که همچنان پیشرفت را به سرور گزارش می‌دهد\&. در این حالت، در صورت خرابی و توقف ناگهانی (crash)، ممکن است داده‌ها از دست بروند\&. .RE .PP \fB\-I \fR\fB\fIlsn\fR\fR .br \fB\-\-startpos=\fR\fB\fIlsn\fR\fR .RS 4 در حالت \fB\-\-start\fR، رونوشت‌برداری را از LSN داده‌شده آغاز می‌کند\&. برای جزئیات مربوط به اثر این تنظیم، به مستندات فصل\ \&47 و بخش\ \&54.4 مراجعه کنید\&. در سایر حالت‌ها نادیده گرفته می‌شود\&. .RE .PP \fB\-\-if\-not\-exists\fR .RS 4 هنگامی که \fB\-\-create\-slot\fR مشخص شده و شکافی با نام تعیین‌شده از قبل وجود دارد، خطایی صادر نمی‌کند\&. .RE.PP \fB\-n\fR .br \fB\-\-no\-loop\fR .RS 4 هنگامی که اتصال به سرور قطع می‌شود، در یک حلقه برای اتصال مجدد تلاش نکنید، فقط خارج شوید\&. .RE .PP \fB\-o \fR\fB\fIname\fR\fR\fB[=\fR\fB\fIvalue\fR\fR\fB]\fR .br \fB\-\-option=\fR\fB\fIname\fR\fR\fB[=\fR\fB\fIvalue\fR\fR\fB]\fR .RS 4 گزینهٔ \fIname\fR را به همراه مقدار گزینهٔ \fIvalue\fR (در صورت تعیین شدن) به افزونهٔ خروجی ارسال می‌کند\&. این‌که چه گزینه‌هایی وجود دارند و اثرات آن‌ها چیست، به افزونهٔ خروجی استفاده‌شده بستگی دارد\&. .RE .PP \fB\-P \fR\fB\fIplugin\fR\fR .br \fB\-\-plugin=\fR\fB\fIplugin\fR\fR .RS 4 هنگام ایجاد یک اسلات، از افزونهٔ خروجی رمزگشایی منطقی مشخص‌شده استفاده کنید\&. فصل\ \&47 را ببینید\&. اگر اسلات از قبل وجود داشته باشد، این گزینه هیچ اثری ندارد\&. .RE .PP \fB\-s \fR\fB\fIinterval_seconds\fR\fR .br \fB\-\-status\-interval=\fR\fB\fIinterval_seconds\fR\fR .RS 4 این گزینه همان اثر گزینه‌ای با همین نام در \fBpg_receivewal\fR(1) را دارد\&. توضیحات آن بخش را ببینید\&. .RE .PP \fB\-S \fR\fB\fIslot_name\fR\fR .br \fB\-\-slot=\fR\fB\fIslot_name\fR\fR .RS 4 در حالت \fB\-\-start\fR، از اسلات همانندسازی منطقی موجود با نام \fIslot_name\fR استفاده می‌کند\&. در حالت \fB\-\-create\-slot\fR، اسلاتی با این نام ایجاد می‌کند\&. در حالت \fB\-\-drop\-slot\fR، اسلات با این نام را حذف می‌کند\&. .sp این پارامتر برای هر یک از این عملیات‌ها الزامی است\&. .RE .PP \fB\-t\fR .br \fB\-\-enable\-two\-phase\fR .br \fB\-\-two\-phase\fR (منسوخ‌شده) .RS 4 رمزگشایی تراکنش‌های آماده‌شده را فعال می‌کند\&. این گزینه فقط همراه با \fB\-\-create\-slot\fR قابل تعیین است\&. .RE .PP \fB\-v\fR .br \fB\-\-verbose\fR .RS 4 حالت پرگو (verbose) را فعال می‌کند\&. .RE .PP گزینه‌های خط فرمان زیر پارامترهای اتصال به پایگاه‌داده را کنترل می‌کنند\&. .PP \fB\-d \fR\fB\fIdbname\fR\fR .br \fB\-\-dbname=\fR\fB\fIdbname\fR\fR .RS 4 پایگاه‌داده‌ای که باید به آن متصل شد\&. برای آگاهی از معنای دقیق این مورد، شرح عملیات‌ها را ببینید\&. \fIdbname\fR می‌تواند یک رشتهٔ اتصال (connection string) باشد\&. در این صورت، پارامترهای رشتهٔ اتصال بر هر گزینهٔ خط فرمان ناسازگار برتری خواهند داشت\&. .sp این پارامتر برای \fB\-\-create\-slot\fR و \fB\-\-start\fR الزامی است\&. .RE .PP \fB\-h \fR\fB\fIhostname\-or\-ip\fR\fR .br \fB\-\-host=\fR\fB\fIhostname\-or\-ip\fR\fR .RS 4 نام میزبان دستگاهی که سرور روی آن اجرا می‌شود را مشخص می‌کند\&. اگر مقدار با یک ممیز (/) آغاز شود، به‌عنوان دایرکتوری سوکت دامنه یونیکس استفاده می‌شود\&. مقدار پیش‌فرض در صورت تنظیم، از متغیر محیطی \fBPGHOST\fR گرفته می‌شود، در غیر این صورت برای اتصال از طریق سوکت دامنه یونیکس تلاش می‌شود\&. .RE .PP \fB\-p \fR\fB\fIport\fR\fR .br \fB\-\-port=\fR\fB\fIport\fR\fR .RS 4 پورت TCP یا پسوند فایل سوکت دامنه یونیکس محلی را که سرور روی آن به اتصالات گوش می‌دهد مشخص می‌کند\&. مقدار پیش‌فرض در صورت تنظیم، متغیر محیطی \fBPGPORT\fR است، یا یک مقدار پیش‌فرض کامپایل‌شده درون برنامه\&. .RE .PP \fB\-U \fR\fB\fIuser\fR\fR .br \fB\-\-username=\fR\fB\fIuser\fR\fR .RS 4 نام کاربری برای اتصال\&. پیش‌فرض، نام کاربر فعلی سیستم‌عامل است\&. .RE .PP \fB\-w\fR .br \fB\-\-no\-password\fR .RS 4 هرگز اعلان درخواست گذرواژه صادر نکند\&. اگر سرور نیازمند احراز هویت با گذرواژه باشد و گذرواژه از راه‌های دیگری مانند فایل \&.pgpass در دسترس نباشد، تلاش برای اتصال با شکست مواجه می‌شود\&. این گزینه می‌تواند در کارهای دسته‌ای (batch jobs) و اسکریپت‌هایی که هیچ کاربری برای وارد کردن گذرواژه حضور ندارد مفید باشد\&. .RE .PP \fB\-W\fR .br \fB\-\-password\fR .RS 4 برنامهٔ pg_recvlogical را وادار می‌کند تا پیش از اتصال به پایگاه‌داده، درخواست گذرواژه کند\&. .sp این گزینه هرگز ضروری نیست، زیرا pg_recvlogical در صورتی که سرور احراز هویت با گذرواژه را بخواهد، به‌طور خودکار درخواست گذرواژه خواهد کرد\&. با این حال، pg_recvlogical یک تلاش اتصال را برای فهمیدن اینکه سرور گذرواژه می‌خواهد هدر خواهد داد\&. در برخی موارد برای پرهیز از این تلاش اتصال اضافه، وارد کردن \fB\-W\fR ارزشش را دارد\&. .RE .PP گزینه‌های اضافی زیر در دسترس هستند: .PP \fB\-V\fR .br \fB\-\-version\fR .RS 4 نسخهٔ pg_recvlogical را چاپ کرده و خارج می‌شود\&. .RE .PP \fB\-?\fR .br \fB\-\-help\fR .RS 4 راهنمایی دربارهٔ آرگومان‌های خط فرمان pg_recvlogical را نمایش داده و خارج می‌شود\&. .RE.SH "وضعیت خروج (EXIT STATUS)" .PP ابزار pg_recvlogical هنگامی که با سیگنال SIGINT یا SIGTERM خاتمه یابد، با وضعیت 0 خارج خواهد شد\&. (این روش عادی برای پایان دادن به آن است؛ بنابراین خطا محسوب نمی‌شود\&.) برای خطاهای مهلک یا سایر سیگنال‌ها، وضعیت خروج غیرصفر خواهد بود\&. .SH "محیط (ENVIRONMENT)" .PP این ابزار، مانند بیشتر ابزارهای دیگر PostgreSQL\c ، از متغیرهای محیطی پشتیبانی‌شده توسط libpq استفاده می‌کند (بخش\ \&32.15 را ببینید)\&. .PP متغیر محیطی \fBPG_COLOR\fR مشخص می‌کند که آیا در پیام‌های عیب‌یابی از رنگ استفاده شود یا خیر\&. مقادیر ممکن عبارت‌اند از always\c ، auto و never\&. .SH "نکات (NOTES)" .PP چنانچه مجوزهای گروهی در کلاستر مبدأ فعال باشند، pg_recvlogical مجوزهای گروهی را روی فایل‌های خروجی حفظ خواهد کرد\&. .SH "مثال‌ها (EXAMPLES)" .PP برای مشاهده یک مثال به بخش\ \&47.1 مراجعه کنید\&. .SH "همچنین ببینید (SEE ALSO)" \fBpg_receivewal\fR(1)