مقدمه :
فرا داده ها و یا Meta Data از مهمترین داده های پایگاه داده ها می باشند که راهبران برای نگهداری پایگاه داده ها به شدت به آنها احتیاج دارند. این واقعیت در مورد پایگاه داده Postgresql هم صادق می باشد. اما فرا داده ها کجا قرار دارند و چگونه می توان به آنها دسترسی داشت. نماها و جداول (View and Table ) های مخصوص این داده ها می باشند که با عناوین زیر مشخص می شوند.
• Pg_Catalog
• Information_Schema
هر کدام از این دسته ها چه کاربردی دارند و چه فرقی باهم دارند. در این مستند می خواهیم در این خصوص صحبت کنیم.
فرق بین pg_catalog و information_schema در پایگاه داده Postgresql
Pg_Catalog و Information_Schema :
pg_catalog و information_schema هر دو به عنوان شمای پیش فرض در پایگاه داده PostgreSQL وجود دارند، اما هر کدام نقش و کاربرد متفاوتی دارند.
Pg_Catalog
pg_catalog یک سکوی سیستمی در PostgreSQL است که حاوی اطلاعات فرادادههای خود پایگاه داده میباشد.
این شما مجموعهای از جداول، نماها و توابع است که اطلاعات از دستهبندی های مختلف پایگاه داده مانند جداول، ستونها، نماها، توابع، نمایهها و موارد دیگر را در اختیار قرار میدهد.
معمولاً به صورت مخفی و پنهان برای کاربران قرار داده میشود و استفاده مستقیم از آن توصیه نمیشود.
Information_Schema
information_schema یک نمایشگاه فراداده است که مجموعهای از جداول و نماها را در اختیار قرار میدهد.
این شما معمولاً برای دسترسی به اطلاعات متا دادههای استاندارد SQL استفاده میشود مانند اطلاعات در مورد جداول، ستونها، نماها، توابع و موارد دیگر.
اطلاعات در این شما قابل دسترسی و قابل استعلام است و میتوان برای کوئری و دریافت اطلاعات متا دادههای پایگاه داده استفاده کرد.
فرق بین Pg_Catalog و Information_Schema :
شمای pg_catalog شامل اطلاعات بیشتری است که در information_schema موجود نیستند. این اطلاعات شامل جزئیات دقیقتر در مورد اجزاء داخلی سیستم PostgreSQL، مانند جداول، فرآیندها و اطلاعات سرور میشوند. برخی از اطلاعات که در pg_catalog موجود هستند و در information_schema نیستند عبارتند از:
pg_tablespace جدولی که اطلاعات در مورد فضای جدول (tablespace) را شامل میشود.
pg_indexes جدولی که اطلاعات در مورد شاخصهای موجود در جداول را شامل میشود.
pg_stats جدولی که اطلاعات آماری در مورد ستونها و نمایههای جدول را شامل میشود.
pg_proc جدولی که اطلاعات در مورد توابع و رویدادهای تعریف شده در پایگاه داده را شامل میشود.
pg_settings جدولی که اطلاعات در مورد تنظیمات پایگاه داده و مقادیر فعلی آنها را شامل میشود.
این فهرست تنها مثالی است و هنوز اطلاعات بیشتری در pg_catalog وجود دارد. از آنجا که pg_catalog اطلاعات مستقیماً از جداول داخلی PostgreSQL را در اختیار شما قرار میدهد، میتوانید به اطلاعات دقیقتر و جزئیتر دسترسی پیدا کنید که در information_schema نمیتوانید به آنها دسترسی داشته باشید.
برای مشاهده فیلم کلیک کنید.
برای دریافت خدمات مشاوره ، آموزش و پشتیبانی با ما در ارتباط باشید