| LMDB_TABLE(5) | File Formats Manual | LMDB_TABLE(5) |
نام (NAME)
lmdb_table - آداپتور LMDB برای Postfix
خلاصه دستور (SYNOPSIS)
postmap lmdb:/etc/postfix/filename postmap -i lmdb:/etc/postfix/filename <inputfile postmap -d "key" lmdb:/etc/postfix/filename postmap -d - lmdb:/etc/postfix/filename <inputfile postmap -q "key" lmdb:/etc/postfix/filename postmap -q - lmdb:/etc/postfix/filename <inputfile
توضیحات (DESCRIPTION)
آداپتور LMDB در Postfix دسترسی به یک ذخیرهساز کلید-مقدار پایدار با نگاشت حافظه (memory-mapped) را فراهم میکند. اندازه پایگاهداده تنها با اندازه فضای آدرس حافظه (معمولاً ۳۱ یا ۴۷ بیت به ترتیب در پردازندههای ۳۲ بیتی یا ۶۴ بیتی) و فضای در دسترس سیستمفایل محدود میشود.
درخواستها (REQUESTS)
آداپتور LMDB از تمامی عملیاتهای جدول جستجوی Postfix پشتیبانی میکند. این ویژگی LMDB را برای بازنویسی آدرس، مسیریابی، سیاستهای دسترسی، حافظههای موقت (کش) یا هر اطلاعاتی که بتوان تحت یک کلید جستجوی ثابت ذخیره کرد در Postfix مناسب میسازد.
هنگامی که یک تراکنش به دلیل پر شدن پایگاهداده با شکست مواجه شود، Postfix اندازه پایگاهداده را افزایش داده و تراکنش را مجدداً تلاش میکند.
جستجوهای جدول در Postfix ممکن است کلیدهای جستجوی جزئی تولید کنند؛ مانند نامهای دامنه بدون یک یا چند زیردامنه، آدرسهای شبکه بدون یک یا چند اکتت کمارزشتر (least-significant)، یا آدرسهای ایمیل بدون بخش محلی (localpart)، پسوند آدرس یا بخش دامنه. این رفتار در جدولهای دیگر مانند btree:، hash: یا ldap: نیز دیده میشود.
تغییرات در یک پایگاهداده LMDB باعث راهاندازی مجدد خودکار دیمن نمیشود و نیازی به راهاندازی مجدد دیمن با دستور postfix reload ندارد.
قابلیت اطمینان (RELIABILITY)
معماری کپی هنگام نوشتن (copy-on-write) در LMDB بهروزرسانیهای امنی را فراهم میکند، به بهای استفاده از فضای بیشتر نسبت به برخی دیگر از پایگاههای داده فایل مسطح (flat-file). عملیاتهای خواندن برای سرعت بالا با نگاشت حافظه (memory-mapped) انجام میشوند. عملیاتهای نوشتن با نگاشت حافظه انجام نمیشوند تا از خرابی خاموش دادهها ناشی از خطاهای اشارهگرهای سرگردان (stray pointer) جلوگیری شود.
چندین فرایند میتوانند بدون نیاز به سریالسازی درخواستها از طریق سرویس proxymap(8)، یک پایگاهداده LMDB را با ایمنی بهروزرسانی کنند. این امر LMDB را به عنوان یک حافظه موقت (کش) مشترک برای سرویسهای verify(8) یا postscreen(8) بسیار مناسب میسازد.
همگامسازی (SYNCHRONIZATION)
آداپتور LMDB در Postfix از طرح قفلگذاری داخلی LMDB استفاده نمیکند، زیرا این طرح نیازمند فایلهای قفل قابل نوشتن برای همگان (world-writable) است و در نتیجه مدل امنیتی Postfix را نقض میکند. در عوض، Postfix از قفلهای fcntl(2) با دانهبندی کل فایل (whole-file granularity) استفاده میکند. برنامههایی که از پروتکل قفلگذاری داخلی LMDB استفاده میکنند، به پایگاهداده LMDB در Postfix آسیب رسانده یا دادههای مخدوش میخوانند.
هر تراکنش خواندن یا نوشتن پایگاهداده LMDB در Postfix باید از ابتدا تا انتها با یک قفل اشتراکی (shared) یا انحصاری (exclusive) fcntl(2) محافظت شود. یک فرایند میتواند پیش از باز کردن یک تراکنش خواندن پایگاهداده، قفل انحصاری را به صورت اتمیک به یک قفل اشتراکی تنزل دهد (downgrade)، اما باید هنگام باز کردن یک تراکنش نوشتن، قفل انحصاری در اختیار داشته باشد.
توجه داشته باشید که قفلهای fcntl(2) تراکنشهای درون همان فرایند را در برابر یکدیگر محافظت نمیکنند. اگر برنامهای نتواند از ایجاد درخواستهای همزمان به پایگاهداده جلوگیری کند، باید علاوه بر قفلهای fcntl(2) به ازای هر فرایند، از تراکنشهای خود با قفلهای درونفرایندی (in-process) نیز محافظت کند.
پارامترهای پیکربندی (CONFIGURATION PARAMETERS)
برنامههای کوتاهعمر بهطور خودکار تغییرات main.cf را دریافت میکنند. در برنامههای دیمن بلندمدت، پس از تغییر پیکربندی از دستور postfix reload استفاده کنید.
- lmdb_map_size (16777216)
- حد اولیه اندازه پایگاهداده OpenLDAP LMDB به بایت.
همچنین ببینید (SEE ALSO)
postconf(1), جدولهای جستجوی پشتیبانیشده در Postfix postmap(1), نگهداری جدول جستجوی Postfix postconf(5), پارامترهای پیکربندی
فایلهای راهنما (README FILES)
برای یافتن این اطلاعات از postconf readme_directory یا postconf html_directory استفاده کنید.
DATABASE_README, نمای کلی جدول جستجوی Postfix LMDB_README, راهنمای جامع Postfix OpenLDAP LMDB
مجوز (LICENSE)
مجوز Secure Mailer باید به همراه این نرمافزار توزیع شود.
تاریخچه (HISTORY)
پشتیبانی از LMDB با نسخه ۲.۱۱ پستفیکس (Postfix) معرفی شد.
نویسندگان (AUTHORS)
Howard Chu Symas Corporation Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA Wietse Venema Google, Inc. 111 8th Avenue New York, NY 10011, USA