Postgresql
@code_crafters
کاتالوگ سیستم چیست؟
کاتالوگ سیستم مجموعه ای از جداول است که اطلاعات مهمی در مورد پایگاه داده را در خود دارد ، این جداول شامل اطلاعات درباره جداول، ستونها، نمایهها، کاربران و دسترسیها، توابع و سایر اجزای پایگاه داده میشوند.
کاتالوگ سیستم معمولاً به صورت یک پایگاه داده جداگانه ذخیره می شود که جدا از داده های کاربر است. این بدان معناست که کاتالوگ سیستم حتی اگر پایگاه داده کاربر خراب شود، همچنان در دسترس خواهد بود.
در کاتالوگ سیستم، اطلاعات قابل تغییر نیستند و برای تغییرات باید از دستورات SQL استفاده کرد. تغییر مستقیم در کاتالوگ سیستم ها میتواند منجر به مشکلات جدی و ناپایداری سیستم شود، بنابراین این عملیات توصیه نمیشود.
به طور کلی، برای تعامل با کاتالوگ سیستم باید از دستورات SQL مخصوص استفاده کنید و از تغییر مستقیم در جداول کاتالوگ خودداری کنید.
کاتالوگ سیستم در PostgreSQL:
کاتالوگ سیستم ها در PostgreSQL (تا نسخه ۱۵) ۶۴ کاتالوگ سیستم وجود دارد که توضیح کوتاهی در مورد هرکدام خواهیم داد برای اطلاع یافتن از اطلاعات کامل تر و جزیی تر به سایت رسمی PostgreSQL مراجعه کنید :
شماره(۱)
نام کاتالوگ : pg_aggregate
هدف : توابع تجمعی
توضیح : کاتالوگ pg_aggregate در PostgreSQL شامل اطلاعات مربوط به توابع تجمعی است که بر روی مجموعهای از رکوردها عملیات انجام میدهند و نتیجه تجمیعی را برمیگردانند به عبارت دیگر هنگامی که از دستورات تجمیعی مانند SUM، COUNT و MAX استفاده می کنید، مقدار محاسبه شده در جدول pg_aggregate ذخیره می شود. این جدول حاوی اطلاعات مربوط به هر تابع تجمعی است، مانند نام تابع، انواع ورودی و خروجی و سایر اطلاعات مشابه توابع معمولی میشود.
شماره(۲)
نام کاتالوگ : pg_am
هدف : روش های دسترسی به رابطه
توضیح :کاتالوگ pg_am اطلاعاتی را در مورد روش های دسترسی به رابطه ذخیره می کند. برای هر روش دسترسی به رابطه که توسط سیستم پشتیبانی می شود، یک ردیف در این کاتالوگ وجود دارد. در حال حاضر، فقط جداول و ایندکس ها دارای روش های دسترسی هستند.
شماره (۳)
نام کاتالوگ : pg_amop
هدف : اپراتورهای روش دسترسی
توضیح : جدول pg_amop اطلاعاتی در مورد عملگرهای مرتبط با روشهای دسترسی به رابطه ذخیره میکند. برای هر عملگری که توسط یک روش دسترسی به رابطه پشتیبانی میشود، یک ردیف در این جدول وجود دارد. در حال حاضر، تنها عملگرهای جستجو و مرتبسازی مورد پشتیبانی قرار میگیرند.
شماره(۴)
نام کاتالوگ : pg_amproc
هدف : توابع پشتیبانی روش دسترسی
توضیح :کاتالوگ pg_amproc اطلاعات مربوط به توابع پشتیبانی مرتبط با خانواده اپراتورهای روش دسترسی را ذخیره می کند. یک ردیف برای هر تابع پشتیبانی متعلق به یک خانواده اپراتور وجود دارد.
شماره(۵)
نام کاتالوگ :pg_attrdef
هدف : مقادیر پیش فرض ستون
توضیح :کتابخانه pg_attrdef مقادیر پیش فرض ستون را ذخیره می کند. اطلاعات اصلی در مورد ستون ها در pg_attribute ذخیره می شود. فقط ستون هایی که یک مقدار پیش فرض برای آنها به صراحت تنظیم شده است، در اینجا یک ورودی خواهند داشت.
شماره(۶)
نام کاتالوگ :pg_attribute
هدف : ستون های جدول ("attribute : ویژگی ها")
توضیح :کاتالوگ pg_attribute اطلاعات مربوط به ستون های جدول را ذخیره می کند. دقیقاً یک ردیف pg_attribute برای هر ستون در هر جدول در پایگاه داده وجود خواهد داشت.
اصطلاح ویژگی(attribute) معادل ستون (column ) است و به دلایل تاریخی استفاده می شود.(دقیقا نمیدونم چه تاریخچه ای پشت این کار هست ولی همینه که هست !)
شماره(۷)
نام کاتالوگ :pg_authid
هدف : شناسههای مجوز (نقشها) authorization identifiers (roles)
توضیح :کاتالوگ pg_authid حاوی اطلاعاتی در مورد شناسه های مجوز پایگاه داده (نقش) است. یک نقش مفاهیم «کاربران» و «گروهها» را در بر میگیرد.
شماره(۸)
نام کاتالوگ :pg_auth_members
هدف : روابط عضویت شناسه مجوز
توضیح :کاتالوگ سیستم pg_auth_members در PostgreSQL اطلاعاتی در مورد نقشهایی که عضو یک گروه هستند ذخیره میکند. برای هر نقش که عضو یک گروه است، یک ردیف وجود دارد.
شماره(۹)
نام کاتالوگ : pg_cast
هدف : تبدیلها (تبدیلهای نوع داده)
توضیح :کاتالوگ سیستم pg_cast در PostgreSQL اطلاعاتی در مورد تبدیلهای نوع داده ذخیره میکند. برای هر تبدیل نوع داده، یک ردیف وجود دارد.
شماره(۱۰)
نام کاتالوگ :pg_class
هدف : جداول ایندکس ها دنبالهها views
توضیح :کاتالوگ سیستم pg_class در PostgreSQL اطلاعاتی در مورد جداول، اشیاء پایگاه داده و دیگر اشیاء پایگاه داده ذخیره میکند. برای هر شیء، یک ردیف در کاتالوگ pg_class وجود دارد. کاتالوگ سیستم pg_class برای مدیریت اشیاء پایگاه داده ضروری است. با استفاده از این کاتالوگ، میتوان اطلاعاتی در مورد اشیاء پایگاه داده، مانند نام، نوع، مالک، فضای جدول و تعداد صفحات و رکوردهای ذخیره شده در آنها، دریافت کرد.
شماره(۱۱)
نام کاتالوگ :pg_collation
هدف : مجموعه ها (اطلاعات محلی)
توضیح :کاتالوگ سیستم pg_collation در PostgreSQL اطلاعاتی در مورد چیدمانها ذخیره میکند. یک چیدمان یک روش برای مقایسه و مرتب کردن متن است. برای هر چیدمان، یک ردیف در کاتالوگ pg_collation وجود دارد ، کاتالوگ سیستم pg_collation برای مدیریت چیدمانها ضروری است. با استفاده از این کاتالوگ، میتوان اطلاعاتی در مورد چیدمانها، مانند نام، چیدمان مرتبسازی، نوع داده، ارائهدهنده، نسخه، پیشفرض بودن و منطقه محلی، دریافت کرد.
شماره(۱۲)
نام کاتالوگ :pg_constraint
هدف : بررسی محدودیت ها، محدودیت های منحصر به فرد، محدودیت های primary key، محدودیت های foreign key
توضیح :جدول pg_constraint در PostgreSQL اطلاعاتی در مورد محدودیتهای جدول ذخیره میکند. یک محدودیت یک قانون است که باید توسط دادههایی که در یک جدول ذخیره میشوند، رعایت شود. برای هر محدودیت، یک ردیف در جدول pg_constraint وجود دارد.با استفاده از این جدول، میتوان اطلاعاتی در مورد محدودیتها، مانند نام، نوع، ستونهایی که محدود میشوند، عبارتی که توسط محدودیت بررسی میشود، جدول مرجع و عمل بهروزرسانی و حذف، دریافت کرد.
شماره(۱۳)
نام کاتالوگ :pg_conversion
هدف : اطلاعات تبدیل کدگذاری
توضیح :کاتالوگ سیستم pg_conversion در PostgreSQL اطلاعاتی در مورد تبدیلهای نوع داده ذخیره میکند. یک تبدیل نوع داده یک روش برای تبدیل دادهها از یک نوع داده به نوع داده دیگر است. برای هر تبدیل نوع داده، یک ردیف در کاتالوگ pg_conversion وجود دارد.
شماره(۱۴)
نام کاتالوگ :pg_database
هدف : پایگاه داده ها در یک پایگاه داده خوشه
توضیح :کاتالوگ سیستم pg_database در PostgreSQL اطلاعاتی در مورد پایگاههای داده موجود در خوشه پایگاه داده ذخیره میکند. برای هر پایگاه داده، یک ردیف در کاتالوگ pg_database وجود دارد.
شماره(۱۵)
نام کاتالوگ :pg_db_role_setting
هدف : تنظیمات هر نقش و هر پایگاه داده
توضیح : جدول pg_db_role_setting در PostgreSQL اطلاعاتی در مورد تنظیمات اجرا برای هر ترکیب نقش و پایگاه داده ذخیره میکند. یک تنظیم اجرا یک مقدار است که میتواند برای یک نقش در یک پایگاه داده خاص تنظیم شود. برای هر تنظیم اجرا، یک ردیف در جدول pg_db_role_setting وجود دارد.با استفاده از این جدول، میتوان مطمئن شد که تنظیمات اجرا به درستی تنظیم شدهاند و پایگاه دادهها به درستی کار میکنند.
شماره(۱۶)
نام کاتالوگ :pg_default_acl
هدف : امتیازات پیش فرض برای نوع شی
توضیح :جدول pg_default_acl در PostgreSQL اطلاعاتی در مورد دسترسی پیش فرض به اشیاء پایگاه داده ذخیره میکند. دسترسی پیش فرض مجموعهای از مجوزهایی است که به طور خودکار به همه اشیاء پایگاه داده جدیدی که در یک پایگاه داده خاص ایجاد میشوند، اعطا میشود، با استفاده از این جدول، میتوان مطمئن شد که اشیاء پایگاه داده به درستی محافظت میشوند و کاربران فقط به آنهایی که نیاز دارند دسترسی دارند.
@code_crafters