جدول 9-55 توابع موجود برای پرس و جو و تغییر پارامترهای پیکربندی زمان اجرا را نشان می دهد.
جدول 9-55. توابع تنظیمات پیکربندی
| نام | نوع برگشت | شرح |
| current_setting(setting_name) | متن | دریافت مقدار فعلی تنظیمات |
| set_config(setting_name, new_value, is_local) | متن | پارامتر را تنظیم کنید و مقدار جدید را برگردانید |
تابع current_setting مقدار فعلی تنظیم را به دست می دهدsetting_name. با دستور SQL مطابقت داردنشان دادن. یک مثال:
set_config پارامتر را تنظیم می کندsetting_nameبهnew_value. اگرis_localاستدرست است، واقعی، مقدار جدید فقط برای تراکنش فعلی اعمال می شود. اگر می خواهید مقدار جدید برای جلسه جاری اعمال شود، از آن استفاده کنیدنادرستبجای. تابع مربوط به دستور SQL استتنظیم. یک مثال:
توابع نشان داده شده در جدول 9-56 سیگنال های کنترلی را به سایر فرآیندهای سرور ارسال می کنند. استفاده از این توابع به ابرکاربران محدود می شود.
جدول 9-56. توابع سیگنال دهی سرور
| نام | نوع برگشت | شرح |
| pg_cancel_backend(pid بین المللی) | بولی | درخواست فعلی یک باطن را لغو کنید |
| pg_reload_conf() | بولی | باعث می شود فرآیندهای سرور فایل های پیکربندی خود را مجدداً بارگیری کنند |
| pg_rotate_logfile() | بولی | فایل لاگ سرور را بچرخانید |
| pg_terminate_backend(pid بین المللی) | بولی | یک باطن را خاتمه دهید |
هر کدام از این توابع برمی گردنددرست است، واقعیدر صورت موفقیت ونادرستدر غیر این صورت.
pg_cancel_backend و pg_terminate_backend سیگنال هایی (به ترتیب SIGINT یا SIGTERM) به فرآیندهای باطن شناسایی شده توسط شناسه فرآیند ارسال می کنند. شناسه فرآیند یک باطن فعال را می توان از قسمت پیدا کردسریعستون ازpg_stat_activityمشاهده کنید یا با فهرست کردنpostgresفرآیندهای روی سرور (با استفاده از ps در یونیکس یا Task Manager در ویندوز).
pg_reload_conf یک سیگنال SIGHUP را به سرور ارسال می کند و باعث می شود فایل های پیکربندی توسط تمام فرآیندهای سرور بارگذاری مجدد شوند.
pg_rotate_logfile به مدیر log-file سیگنال می دهد که فوراً به یک فایل خروجی جدید سوئیچ کند. این تنها زمانی کار می کند که کلکتور log داخلی در حال اجرا باشد، زیرا در غیر این صورت هیچ فرآیند فرعی مدیریت فایل لاگ وجود ندارد.
عملکردهای نشان داده شده در جدول 9-57 به تهیه نسخه پشتیبان به صورت آنلاین کمک می کند. این توابع در طول بازیابی قابل اجرا نیستند.
جدول 9-57. توابع کنترل پشتیبان
| نام | نوع برگشت | شرح |
| pg_create_restore_point(نام متن) | متن | ایجاد یک نقطه با نام برای انجام بازیابی (محدود به ابرکاربران) |
| pg_current_xlog_insert_location() | متن | محل درج گزارش تراکنش فعلی را دریافت کنید |
| pg_current_xlog_location() | متن | محل نوشتن گزارش تراکنش فعلی را دریافت کنید |
| pg_start_backup(برچسب متن [ , سریع بولی ]) | متن | برای انجام پشتیبان گیری آنلاین (محدود به Superusers یا نقش های تکثیر) آماده شوید |
| pg_stop_backup () | متن | پایان دادن به پشتیبان گیری آنلاین (محدود به Superusers یا نقش های تکثیر) |
| pg_switch_xlog () | متن | سوئیچ نیرو به یک پرونده ورود به سیستم معامله جدید (محدود به Superusers) |
| pg_xlogfile_name (محل متن) | متن | تبدیل رشته محل ورود معامله به نام پرونده |
| pg_xlogfile_name_offset (محل متن) | متن, عدد صحیح | تبدیل رشته محل ورود به سیستم معامله به نام پرونده و جبران بایت اعشاری در پرونده |
PG_START_BACKUP یک برچسب تعریف شده توسط کاربر خودسرانه برای نسخه پشتیبان را می پذیرد..backup_label) به فهرست داده های خوشه پایگاه داده ، یک ایست بازرسی را انجام می دهد و سپس مکان ورود به سیستم معاملات پشتیبان را به عنوان متن باز می گرداند. کاربر می تواند این مقدار نتیجه را نادیده بگیرد ، اما در صورت مفید بودن ارائه می شود.
یک پارامتر دوم اختیاری از نوع وجود داردبولی. اگردرست است، واقعی، اجرای PG_START_BACKUP را در اسرع وقت مشخص می کند. این یک ایست بازرسی فوری را ایجاد می کند که باعث ایجاد سنبله در عملیات I/O می شود و هرگونه نمایش همزمان را اجرا می کند.
PG_STOP_BACKUP فایل برچسب ایجاد شده توسط PG_START_BACKUP را حذف می کند و یک پرونده تاریخچه پشتیبان را در منطقه بایگانی ورود به معاملات ایجاد می کند. پرونده تاریخ شامل برچسب داده شده به PG_START_BACKUP ، مکان های شروع و پایان معاملات برای پشتیبان گیری و زمان شروع و پایان نسخه پشتیبان تهیه شده است. مقدار بازده محل ورود به سیستم معاملات پشتیبان گیری (که دوباره می توان آن را نادیده گرفت) است. پس از ضبط مکان پایان ، نقطه ورود به سیستم معاملات فعلی به طور خودکار به پرونده ورود به سیستم معاملات بعدی پیش می رود ، به طوری که می توان پرونده ورود به سیستم معاملات پایان را بلافاصله بایگانی کرد تا نسخه پشتیبان تهیه شود.
PG_SWITCH_XLOG به پرونده ورود به سیستم معاملات بعدی منتقل می شود و اجازه می دهد پرونده فعلی بایگانی شود (با فرض اینکه شما از بایگانی مداوم استفاده می کنید). مقدار بازده محل ورود به سیستم معاملات معاملات + 1 در پرونده ورود به سیستم معامله ای است. اگر از آخرین سوئیچ ورود به سیستم معامله هیچ فعالیت ورود به سیستم وجود نداشته باشد ، PG_SWITCH_XLOG هیچ کاری نمی کند و محل شروع پرونده ورود به سیستم معامله را که در حال حاضر در حال استفاده است ، برمی گرداند.
PG_CREATE_RESTORE_POINT سابقه ورود به سیستم معامله نامگذاری شده را ایجاد می کند که می تواند به عنوان هدف بازیابی مورد استفاده قرار گیرد و مکان ورود به سیستم معاملات مربوطه را برمی گرداند. سپس می توان از نام داده شده با Recovery_Target_Name استفاده کرد تا نکته ای را که در آن بهبودی انجام می شود ، مشخص کند. از ایجاد چندین امتیاز بازیابی با همین نام خودداری کنید ، زیرا بازیابی در اولین کسی که نام آن با هدف بازیابی مطابقت دارد متوقف می شود.
PG_CURRENT_XLOG_LOCATION مکان نوشتن گزارش معاملات فعلی را با همان فرمت استفاده شده توسط توابع فوق نشان می دهد. به طور مشابه ، PG_CURRENT_XLOG_INSERT_LOCATION نقطه ورود به سیستم معاملات فعلی را نشان می دهد. نقطه درج پایان "منطقی" پایان نامه معامله در هر لحظه است ، در حالی که مکان نوشتن پایان آنچه در واقع از بافرهای داخلی سرور نوشته شده است. مکان نوشتن پایان چیزی است که می توان از خارج از سرور مورد بررسی قرار داد ، و معمولاً اگر علاقه مند به بایگانی پرونده های ورود به سیستم معاملاتی جزئی است ، می خواهید. نقطه درج در درجه اول برای اهداف اشکال زدایی سرور در دسترس است. اینها هر دو عمل فقط خواندنی هستند و نیازی به مجوزهای فوق العاده ندارند.
برای استخراج نام پرونده ورود به سیستم معاملات مربوطه و جبران بایت از نتایج هر یک از توابع فوق می توانید از pg_xlogfile_name_offset استفاده کنید. مثلا:
به همین ترتیب ، PG_XLOGFILE_NAME فقط نام پرونده ورود به سیستم را استخراج می کند. هنگامی که مکان ورود به سیستم معامله دقیقاً در یک مرز پرونده ورود به معامله قرار دارد ، هر دو این توابع نام پرونده ورود به سیستم معاملات قبلی را برمی گردانند. این معمولاً رفتار مورد نظر برای مدیریت رفتار بایگانی ورود به سیستم معامله است ، زیرا پرونده قبلی آخرین موردی است که در حال حاضر باید بایگانی شود.
برای جزئیات بیشتر در مورد استفاده مناسب از این توابع ، به بخش 24. 3 مراجعه کنید.
توابع نشان داده شده در جدول 9-58 اطلاعاتی در مورد وضعیت فعلی آماده به کار ارائه می دهد. این توابع ممکن است در دوران بهبودی و در حال اجرا عادی انجام شود.
جدول 9-58. توابع اطلاعات بازیابی
| نام | نوع برگشت | شرح |
| pg_is_in_recovery () | غوغا | اگر بهبودی هنوز در حال انجام است ، درست است. |
| pg_last_xlog_receive_location () | متن | آخرین مکان ورود به سیستم معامله دریافت شده را دریافت کرده و با تکثیر جریان با دیسک همگام سازی کنید. در حالی که تکثیر جریان در حال انجام است ، این امر به صورت یکنواخت افزایش می یابد. اگر بازیابی به اتمام برسد ، این مقدار در آخرین رکورد WAL دریافت شده و در هنگام بازیابی همگام سازی با دیسک است. اگر تکثیر جریان غیرفعال باشد ، یا اگر هنوز شروع نشده است ، عملکرد تهی باز می گردد. |
| pg_last_xlog_replay_location () | متن | آخرین مکان ورود به سیستم معامله را در هنگام بازیابی پخش کنید. اگر بازیابی هنوز در حال انجام باشد ، این یکنواخت افزایش می یابد. اگر بهبودی به پایان برسد ، این مقدار در ارزش آخرین رکورد WAL که در آن بازیابی اعمال می شود ، ایستا باقی می ماند. هنگامی که سرور به طور عادی بدون بازیابی شروع شده است ، عملکرد تهی می کند. |
| pg_last_xact_replay_timestamp () | Timestamp با منطقه زمانی | تمبر زمان آخرین معامله را که در طول بازیابی پخش می شود ، دریافت کنید. این زمانی است که در آن سوابق تعهد یا سقط جنین برای آن معامله در ابتدای کار ایجاد شده است. اگر هیچ معاملات در طول بازیابی دوباره پخش نشده باشد ، این عملکرد تهی می کند. در غیر این صورت ، اگر بهبودی هنوز در حال انجام باشد ، این امر به صورت یکنواخت افزایش می یابد. اگر بهبودی به پایان برسد ، این مقدار در ارزش آخرین معامله اعمال شده در طی آن بهبودی استاتیک باقی می ماند. هنگامی که سرور به طور عادی بدون بازیابی شروع شده است ، عملکرد تهی می کند. |
توابع نشان داده شده در جدول 9-59 پیشرفت بهبود را کنترل می کند. این توابع ممکن است فقط در حین بهبودی اجرا شوند.
جدول 9-59. توابع کنترل بازیابی
| نام | نوع برگشت | شرح |
| pg_is_xlog_replay_paused () | غوغا | اگر بهبودی مکث شود درست است. |
| pg_xlog_replay_pause () | خالی | بلافاصله بازیابی را مکث می کند. |
| pg_xlog_replay_resume () | خالی | در صورت مکث ، بازیابی را مجدداً راه اندازی می کند. |
در حالی که بازیابی متوقف می شود ، هیچ تغییر پایگاه داده دیگری اعمال نمی شود. اگر در حالت آماده به کار داغ باشد ، تمام نمایش داده شدگان جدید همان عکس فوری پایگاه داده را مشاهده می کنند ، و تا زمان از سرگیری بهبودی ، هیچ درگیری پرس و جو دیگری ایجاد نمی شود.
اگر تکثیر جریان غیرفعال باشد ، حالت مکث ممکن است به طور نامحدود و بدون مشکل ادامه یابد. در حالی که تکثیر جریان در حال انجام است ، سوابق WAL همچنان دریافت می شود ، که در نهایت بسته به مدت مکث ، میزان تولید وال و فضای دیسک موجود ، فضای دیسک موجود را پر می کند.
توابع نشان داده شده در جدول 9-60 استفاده از فضای دیسک از اشیاء پایگاه داده را محاسبه می کند.
جدول 9-60. توابع اندازه شیء پایگاه داده
| نام | نوع برگشت | شرح |
| pg_column_size (هیچ) | بین المللی | تعداد بایت های مورد استفاده برای ذخیره یک مقدار خاص (احتمالاً فشرده شده) |
| pg_database_size (اید) | با ابله | فضای دیسک مورد استفاده توسط پایگاه داده با OID مشخص شده |
| pg_database_size (نام) | با ابله | فضای دیسک مورد استفاده توسط پایگاه داده با نام مشخص شده |
| pg_indexes_size (بازپرس) | با ابله | فضای کل دیسک مورد استفاده توسط فهرست های متصل به جدول مشخص شده |
| pg_relation_size (رابطه بازپرس, چنگال متن) | با ابله | فضای دیسک مورد استفاده توسط چنگال مشخص شده ("اصلی", 'FSM', 'VM'، یا'init') از جدول یا فهرست مشخص شده |
| pg_relation_size (رابطه بازپرس) | با ابله | کوتاه برایpg_relation_size (. 'اصلی') |
| pg_size_pretty (با ابله) | متن | اندازه بایت ها را به یک قالب قابل خواندن با واحدهای اندازه تبدیل می کند |
| pg_table_size (بازپرس) | با ابله | فضای دیسک مورد استفاده در جدول مشخص شده ، به استثنای شاخص ها (اما از جمله نان تست ، نقشه فضای آزاد و نقشه دید) |
| pg_tablespace_size (اید) | با ابله | فضای دیسک مورد استفاده توسط TableSpace با OID مشخص شده |
| pg_tablespace_size (نام) | با ابله | فضای دیسک مورد استفاده توسط TableSpace با نام مشخص شده |
| PG_TOTAL_RELATION_SIZE (بازپرس) | با ابله | فضای کل دیسک مورد استفاده در جدول مشخص شده ، از جمله کلیه فهرست ها و داده های نان تست |
pg_column_size فضای مورد استفاده برای ذخیره هر مقدار داده جداگانه را نشان می دهد.
PG_TOTAL_RELATION_SIZE OID یا نام یک جدول یا جدول نان تست را می پذیرد و کل فضای دیسک مورد استفاده برای آن جدول ، از جمله تمام شاخص های مرتبط را برمی گرداند. این عملکرد معادل pg_table_size است+pg_indexes_size.
PG_TABLE_SIZE OID یا نام یک جدول را می پذیرد و فضای دیسک مورد نیاز برای آن جدول ، منحصر به فرد از فهرست ها را برمی گرداند.(فضای نان تست ، نقشه فضای آزاد و نقشه دید درج شده است.)
PG_INDEXES_SIZE OID یا نام یک جدول را می پذیرد و فضای کل دیسک مورد استفاده تمام شاخص های متصل به آن جدول را برمی گرداند.
PG_DATABASE_SIZE و PG_TABLESPACE_SIZE OID یا نام یک پایگاه داده یا یک میز را بپذیرید و فضای کل دیسک مورد استفاده در آن را برگردانید. برای استفاده از pg_database_size ، باید داشته باشیدوصل کردنمجوز در پایگاه داده مشخص شده (که به طور پیش فرض اعطا می شود). برای استفاده از pg_tablespace_size ، باید داشته باشیدایجاد کردنمجوز در فضای جدول مشخص شده ، مگر اینکه این میز پیش فرض برای پایگاه داده فعلی باشد.
PG_RELATION_SIZE OID یا نام یک جدول ، فهرست یا جدول نان تست را می پذیرد و اندازه دیسک را در بایت های یک چنگال از آن رابطه برمی گرداند.(توجه داشته باشید که برای اکثر اهداف ، استفاده از توابع سطح بالاتر PG_TOTAL_RELATION_SIZE یا PG_TABLE_SIZE راحت تر است ، که با یک آرگومان ، اندازه چنگال داده اصلی رابطه را برمی گرداند. استدلال دوم را می توان برای مشخص کردن کدام چنگال برای بررسی ارائه داد:
"اصلی"اندازه چنگال داده اصلی رابطه را برمی گرداند.
'FSM'اندازه نقشه فضای آزاد را برمی گرداند (به بخش 55. 3 مراجعه کنید) مرتبط با رابطه.
'VM'اندازه نقشه دید را برمی گرداند (به بخش 55. 4 مراجعه کنید) مرتبط با رابطه.
'init'در صورت وجود اندازه چنگال اولیه سازی را برمی گرداند (به بخش 55. 5 مراجعه کنید) مرتبط با رابطه.
PG_SIZE_PRETTY می تواند برای قالب بندی نتیجه یکی از توابع دیگر به روش قابل خواندن با انسان ، با استفاده از KB ، MB ، GB یا TB در صورت لزوم استفاده شود.
توابع فوق که روی جداول یا شاخص ها کار می کنندبازپرساستدلال ، که به سادگی OID جدول یا شاخص درPG_CLASSکاتالوگ سیستم. با این حال ، لازم نیست که OID را با دست جستجو کنید ، از آنجا کهبازپرسمبدل ورودی نوع داده کار را برای شما انجام می دهد. فقط نام جدول را در نقل قول های منفرد بنویسید تا به نظر می رسد مانند یک لفظی است. برای سازگاری با استفاده از نامهای معمولی SQL ، رشته به مورد پایین تبدیل می شود ، مگر اینکه حاوی نقل قول های مضاعف در اطراف نام جدول باشد.
توابع نشان داده شده در جدول 9-61 در شناسایی پرونده های دیسک خاص مرتبط با اشیاء پایگاه داده کمک می کند.
جدول 9-61. توابع محل شیء پایگاه داده
| نام | نوع برگشت | شرح |
| pg_relation_filenode (رابطه بازپرس) | اید | شماره پرونده رابطه مشخص شده |
| pg_relation_filepath (رابطه بازپرس) | متن | نام مسیر پرونده رابطه مشخص شده |
PG_RELATION_FILENODE OID یا نام یک جدول ، فهرست ، دنباله یا جدول نان تست را می پذیرد و شماره "FileNode" را که در حال حاضر به آن اختصاص داده شده است ، برمی گرداند. FileNode جزء پایه نام پرونده (های) مورد استفاده برای رابطه است (برای اطلاعات بیشتر به بخش 55. 1 مراجعه کنید). برای بیشتر جداول نتیجه همان استPG_CLASS.رلفیلنود، اما برای کاتالوگ های خاص سیستمرلفیلنودصفر است و از این عملکرد باید برای به دست آوردن مقدار صحیح استفاده شود. اگر رابطه ای که دارای ذخیره سازی نیست ، مانند نمای ، عملکرد تهی را برمی گرداند.
PG_RELATION_FILEPATH مشابه PG_RELATION_FILENODE است ، اما نام مسیر فایل را برمی گرداند (نسبت به فهرست داده های خوشه پایگاه دادهPGData) از رابطه.
توابع نشان داده شده در جدول 9-62 دسترسی بومی به پرونده های موجود در دستگاه میزبان سرور را فراهم می کند. فقط پرونده های موجود در فهرست خوشه پایگاه داده وlog_directoryقابل دسترسی استاز یک مسیر نسبی برای پرونده ها در فهرست خوشه استفاده کنید و مسیری که مطابق با آن باشدlog_directoryتنظیمات پیکربندی برای پرونده های ورود به سیستم. استفاده از این کارکردها برای سوپر مصرف کنندگان محدود می شود.
جدول 9-62. توابع دسترسی به پرونده عمومی
| نام | نوع برگشت | شرح |
| pg_ls_dir (نام خانوادگی متن) | متن | محتوای یک فهرست را لیست کنید |
| pg_read_file (نام فایل متن [, انحراف با ابله, طول با ابله]) | متن | مطالب یک فایل متنی را برگردانید |
| pg_read_binary_file (نام فایل متن [, انحراف با ابله, طول با ابله]) | دوتایی | مطالب یک پرونده را برگردانید |
| pg_stat_file (نام فایل متن) | رکورد | اطلاعات مربوط به یک پرونده را برگردانید |
PG_LS_DIR تمام اسامی را در فهرست مشخص شده به جز ورودی های ویژه برمی گرداند "."و".." .
pg_read_file بخشی از یک فایل متنی را برمی گرداند ، از داده های داده شدهانحراف، بازگشت حداکثرطولبایت (در صورت رسیدن به پایان پرونده ، کمتر). اگرانحرافمنفی است ، نسبت به پایان پرونده است. اگرانحرافوتطولحذف شده اند ، کل پرونده بازگردانده می شود. بایت های خوانده شده از پرونده به عنوان یک رشته در رمزگذاری سرور تفسیر می شوند. اگر در آن رمزگذاری معتبر نباشند ، خطایی پرتاب می شود.
pg_read_binary_file شبیه pg_read_file است ، به جز اینکه نتیجه یک استدوتاییارزش؛بر این اساس ، هیچ چک رمزگذاری انجام نمی شود. در ترکیب با عملکرد Convert_from ، این عملکرد می تواند برای خواندن یک فایل در یک رمزگذاری مشخص استفاده شود:
PG_STAT_FILE یک رکورد حاوی اندازه پرونده ، آخرین تمبر زمان دسترسی ، آخرین تمبر زمان اصلاح شده ، آخرین وضعیت تغییر وضعیت پرونده (فقط سیستم عامل های UNIX) ، تمبر زمان ایجاد پرونده (فقط ویندوز) و الف را برمی گرداند.بولینشان می دهد که آیا این دایرکتوری است. کاربردهای معمولی شامل موارد زیر است:
توابع نشان داده شده در جدول 9-63 قفل های مشاوره را مدیریت می کند. برای جزئیات بیشتر در مورد استفاده صحیح از این توابع ، به بخش 13. 3. 4 مراجعه کنید.
جدول 9-63. توابع قفل مشاوره
| نام | نوع برگشت | شرح |
| pg_advisory_lock (کلید با ابله) | خالی | قفل مشاوره سطح جلسه اختصاصی را بدست آورید |
| pg_advisory_lock (key1 بین المللی, key2 بین المللی) | خالی | قفل مشاوره سطح جلسه اختصاصی را بدست آورید |
| pg_advisory_lock_shared (کلید با ابله) | خالی | قفل مشاوره سطح جلسه مشترک را بدست آورید |
| pg_advisory_lock_shared (key1 بین المللی, key2 بین المللی) | خالی | قفل مشاوره سطح جلسه مشترک را بدست آورید |
| PG_ADVISORY_UNLOCK (کلید با ابله) | بولی | قفل مشاوره سطح جلسه اختصاصی را منتشر کنید |
| PG_ADVISORY_UNLOCK (key1 بین المللی, key2 بین المللی) | بولی | قفل مشاوره سطح جلسه اختصاصی را منتشر کنید |
| pg_advisory_unlock_all () | خالی | تمام قفل های مشاوره سطح جلسه را که توسط جلسه فعلی برگزار می شود آزاد کنید |
| pg_advisory_unlock_shared (کلید با ابله) | بولی | قفل مشاوره سطح جلسه مشترک را منتشر کنید |
| pg_advisory_unlock_shared (key1 بین المللی, key2 بین المللی) | بولی | قفل مشاوره سطح جلسه مشترک را منتشر کنید |
| pg_advisory_xact_lock (کلید با ابله) | خالی | قفل مشاوره سطح معامله انحصاری را بدست آورید |
| pg_advisory_xact_lock (key1 بین المللی, key2 بین المللی) | خالی | قفل مشاوره سطح معامله انحصاری را بدست آورید |
| pg_advisory_xact_lock_shared (کلید با ابله) | خالی | قفل مشاوره سطح معامله مشترک را بدست آورید |
| pg_advisory_xact_lock_shared (key1 بین المللی, key2 بین المللی) | خالی | قفل مشاوره سطح معامله مشترک را بدست آورید |
| pg_try_advisory_lock (کلید با ابله) | بولی | در صورت وجود قفل مشاوره سطح جلسه اختصاصی را بدست آورید |
| pg_try_advisory_lock (key1 بین المللی, key2 بین المللی) | بولی | در صورت وجود قفل مشاوره سطح جلسه اختصاصی را بدست آورید |
| pg_try_advisory_lock_shared (کلید با ابله) | بولی | در صورت وجود قفل مشاوره سطح جلسه مشترک را بدست آورید |
| pg_try_advisory_lock_shared (key1 بین المللی, key2 بین المللی) | بولی | در صورت وجود قفل مشاوره سطح جلسه مشترک را بدست آورید |
| PG_TRY_ADVISORY_XACT_LOCK (کلید با ابله) | بولی | در صورت وجود قفل مشاوره سطح معامله انحصاری را بدست آورید |
| PG_TRY_ADVISORY_XACT_LOCK (key1 بین المللی, key2 بین المللی) | بولی | در صورت وجود قفل مشاوره سطح معامله انحصاری را بدست آورید |
| pg_try_advisory_xact_lock_shared (کلید با ابله) | بولی | در صورت وجود قفل مشاوره سطح معامله مشترک را بدست آورید |
| pg_try_advisory_xact_lock_shared (key1 بین المللی, key2 بین المللی) | بولی | در صورت وجود قفل مشاوره سطح معامله مشترک را بدست آورید |
PG_ADVISORY_LOCK یک منبع تعریف شده از برنامه را قفل می کند ، که می تواند با یک مقدار کلید 64 بیتی یا دو مقدار کلید 32 بیتی مشخص شود (توجه داشته باشید که این دو فضای کلیدی با هم همپوشانی ندارند). اگر جلسه دیگری در حال حاضر قفل را در همان شناسه منبع نگه داشته باشد ، این عملکرد منتظر می ماند تا منبع در دسترس باشد. قفل منحصر به فرد است. درخواست قفل چندگانه ، به طوری که اگر همان منبع سه بار قفل شود ، باید سه بار قفل شود تا برای استفاده سایر جلسات آزاد شود.
PG_ADVISORY_LOCK_SHARED همان کار با PG_ADVISORY_LOCK کار می کند ، به جز قفل را می توان با سایر جلسات درخواست قفل های مشترک به اشتراک گذاشت. فقط قفل های منحصر به فرد قفل شده اند.
PG_TRY_ADVISORY_LOCK شبیه PG_ADVISORY_LOCK است ، به جز عملکرد منتظر در دسترس بودن قفل نخواهد بود. یا بلافاصله قفل را بدست می آورد و باز می گردددرست است، واقعی، یا بازگشتنادرستاگر قفل بلافاصله قابل دستیابی نباشد.
PG_TRY_ADVISORY_LOCK_SHARED همان کار با PG_TRY_ADVISORY_LOCK کار می کند ، به جز این که سعی می کند به جای یک قفل منحصر به فرد ، یک مشترک مشترک را بدست آورد.
PG_ADVISORY_UNLOCK یک قفل مشاوره سطح اختصاصی که قبلاً به دست آمده است ، منتشر می کند. برمی گردددرست است، واقعیاگر قفل با موفقیت آزاد شود. اگر قفل نگه داشته نشود ، باز خواهد گشتنادرستو علاوه بر این ، یک هشدار SQL توسط سرور گزارش می شود.
PG_ADVISORY_UNLOCK_SHARED همان کار با PG_ADVISORY_UNLOCK کار می کند ، به جز اینکه قفل مشاوره سطح جلسه مشترک را منتشر می کند.
PG_ADVISORY_UNLOCK_ALL تمام قفل های مشاوره سطح جلسه را که توسط جلسه فعلی برگزار می شود ، منتشر می کند.(این عملکرد به طور ضمنی در پایان جلسه فراخوانی می شود ، حتی اگر مشتری به طور نامحسوس قطع شود.)
PG_ADVISORY_XACT_LOCK همان کار با PG_ADVISORY_LOCK کار می کند ، به جز قفل به طور خودکار در پایان معامله فعلی منتشر می شود و به صراحت نمی تواند منتشر شود.
PG_ADVISORY_XACT_LOCK_SHARED همان کار با PG_ADVISORY_LOCK_SHARED کار می کند ، به جز قفل به طور خودکار در انتهای معامله فعلی منتشر می شود و به صراحت نمی تواند منتشر شود.
PG_TRY_ADVISORY_XACT_LOCK همان کار PG_TRY_ADVISORY_LOCK کار می کند ، به جز قفل ، در صورت دستیابی ، به طور خودکار در پایان معامله فعلی آزاد می شود و به صراحت نمی تواند منتشر شود.
PG_TRY_ADVISORY_XACT_LOCK_SHARED همان کار با PG_TRY_ADVISORY_LOCK_SHARED کار می کند ، به جز قفل ، در صورت دستیابی ، به طور خودکار در انتهای معامله فعلی آزاد می شود و به صراحت منتشر نمی شود.
استراتژی های مؤثر فارکس...
ما را در سایت استراتژی های مؤثر فارکس دنبال می کنید
برچسب :
نویسنده : توران میرهادی
بازدید : <-PostHit->
تاريخ : شنبه
19 فروردين
1402 ساعت: 13:06