artarad_postgresql

بررسی view کاربردی pg_stat_activity در Postgresql

pg_stat_activity یک view سیستمی مهم در PostgreSQL است که اطلاعات در لحظه ای را در مورد اتصالات پایگاه داده فعلی و پرس و جوهای در حال اجرا ارائه می دهد. این view برای عیب‌یابی مشکلات عملکرد، شناسایی تراکنش‌های طولانی‌مدت یا Idle، و مدیریت سلامت کلی پایگاه داده بسیار مفید است.


معرفی معماری پایگاه داده Postgresql

اطلاعات مهم در خصوص view pg_stat_activity :

نمای pg_stat_activity شامل چندین فیلد مهم است که عبارتند از:
datid: OID پایگاه داده ای که backend به آن متصل است.
datname: نام پایگاه داده ای که backend به آن متصل است.
pid: شناسه فرآیند backend.
useysid: OID کاربری که backend را راه اندازی کرده است.
usename: نام کاربری که Backend را راه اندازی کرده است.
application_name: نام اپلیکیشنی که به backend متصل است.
client_addr: آدرس IP کلاینت متصل به backend.
client_port: شماره پورت کلاینت متصل به backend.
backend_start: مهر زمانی که backend شروع شد.
xact_start: زمان شروع تراکنش جاری.
query_start: زمان شروع پرس و جو فعلی.
state_change: مهر زمانی آخرین تغییر حالت.
state: وضعیت فعلی backend (فعال/بیکار/بیکار در تراکنش).
query: جدیدترین پرس و جوی فعلی/در حال اجرا از backend.

کاربردهای رایج:

pg_stat_activity معمولاً برای چندین هدف نظارتی و تشخیصی استفاده می شود، مانند:
نظارت بر پرس و جوهای فعال: برای دریافت لیستی از پرس و جوهای در حال اجرا، می توانید از پرس و جو زیر استفاده کنید:

SELECT pid, query, state, query_start

FROM pg_stat_activity

WHERE state = ‘active’:

شناسایی تراکنش‌های Idle: برای شناسایی تراکنش‌های Idle که می‌توانند باعث مشکلات عملکردی شوند، از این کوئری استفاده کنید:

SELECT pid, query, state, xact_start

FROM pg_stat_activity

WHERE state = ‘idle in transaction’;

پایان دادن به پرس و جوهای طولانی مدت: برای خاتمه دادن به پرس و جوهای طولانی مدت یا Backend ، می توانید از تابع ()pg_terminate_backend استفاده کنید. به عنوان مثال، برای پایان دادن به یک Backend با شناسه فرآیند ۱۲۳۴۵:

SELECT pg_terminate_backend(12345);

جمع بندی :

درک و استفاده از View سیستم pg_stat_activity هنگام حفظ عملکرد و سلامت پایگاه داده PostgreSQL حیاتی است. این VIew اطلاعات ارزشمندی را در مورد اتصالات و پرس و جوهای پایگاه داده به شما ارائه می دهد و به شما امکان می دهد برای حفظ یک سیستم قوی و با عملکرد بهینه، نظارت کنید، تشخیص دهید و مطابق با آن عمل کنید.

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *