PostgreSQL

پایگاه‌داده PostgreSQL یک سیستم مدیریت دیتابیس متن‌باز شی‌گرا و رابطه‌ای (ORDBMS) است که برای مدیریت داده‌های ساختاریافته و پیچیده در ابعاد وسیع استفاده می‌شود. این دیتابیس با پشتیبانی کامل از استاندارد SQL و تراکنش‌های ACID، پایداری و یکپارچگی داده‌های شما را تضمین می‌کند. بهره‌گیری از معماری MVCC (چند نسخه‌برداری هم‌زمان) باعث شده تا پستگرس عملکرد بسیار بالایی در پردازش تراکنش‌های هم‌زمان و بدون قفل‌گذاری داشته باشد و به یکی از محبوب‌ترین گزینه‌ها برای برنامه‌های بزرگ و پیچیده در محیط PaaS تبدیل شود.

مراحل استقرار

برای مشاهده راهنمای گام‌به‌گام ساخت سرویس و پیکربندی‌های پایه، به مستندات «استقرار دیتابیس‌ها» مراجعه کنید. همچنین برای تنظیمات زیرساختی نیز به بخش مدیریت اپلیکیشن مراجعه کنید:

متغیرهای محیطی

کانتینر PostgreSQL برای راه‌اندازی اولیه و ساختاردهی پایگاه‌داده، نیازمند تنظیم متغیرهای محیطی مشخصی در پنل داشبورد است:

  • نام پایگاه‌داده (اجباری): فیلد PostgreSQL Database Name در ابتدا خالی است. وارد کردن نام اولین دیتابیس برای مقداردهی اولیه کانتینر کاملا الزامی است.

  • پارامترهای اختیاری: با کلیک روی دکمه «مشاهده پارامترهای اختیاری»، امکان تنظیم نسخه ایمیج (Version of POSTGRES Image)، رمز عبور اختصاصی اتصال و نام کاربری اتصال (با مقدار پیش‌فرض user) برای شما فراهم می‌شود.

نکته: برای آموزش گام‌به‌گام نحوه تعریف متغیرهای اختصاصی، ConfigMapها و Secretها در داشبورد، به مستندات متغیرهای محیطی مراجعه کنید.

اطلاعات اتصال و دسترسی

پس از استقرار موفق دیتابیس، اطلاعات حیاتی برای اتصال اپلیکیشن‌ها به این دیتابیس در پنل مدیریت سرویس نمایش داده می‌شود. در مدیریت این دیتابیس، الزامات زیرساختی زیر برقرار است:

  • فضای ذخیره‌سازی: این سرویس برای حفظ پایداری و جلوگیری از فقدان اطلاعات، نیازمند تخصیص دیسک اختصاصی (Volume) است.

  • سطح دسترسی سیستمی: اپلیکیشن و ترمینال کانتینر با سطح دسترسی کاربر عادی (Non-Root) اجرا می‌شوند؛ بنابراین شما امکان اعمال تغییرات سیستمی در هسته کانتینر یا استفاده از دسترسی Root را ندارید.

  • تخصیص منابع: جهت تعیین سخت‌افزار، می‌توانید از «پلن‌های استاندارد» یا گزینه «شخصی‌سازی منابع» استفاده کنید. توصیه می‌شود برای حفظ امنیت داده‌ها، قابلیت بکاپ خودکار را فعال بگذارید.

اتصال از طریق کلاینت‌های خارجی

برای تست و مدیریت اتصال به دیتابیس از خارج از کلاستر، ابتدا باید ابزار کلاینت psql را بر روی سیستم‌عامل خود نصب کنید:

نصب روی توزیع‌های RHEL/Fedora:

sudo dnf check-update
sudo dnf install postgresql

نصب روی توزیع‌های Debian/Ubuntu:

sudo apt update
sudo apt install postgresql-client

نصب در سیستم‌عامل Windows:

در ویندوز می‌بایست ابزار WSL2 را نصب یا فعال کنید؛ با این کار می‌توانید دستورات لینوکس را تحت محیط مجازی در ویندوز اجرا کنید.

دستور تست اتصال:

پس از نصب کلاینت، با استفاده از دستور زیر به دیتابیس متصل شوید:

psql -h <SUB-DOMAIN> -p <NodePort> -U <USERNAME> -d <DATABASE> -W

 

نکات مهم برای استخراج متغیرهای اتصال از پنل:

  • مقدار هاست (-h): به جای متغیر <SUB-DOMAIN>، مقداری که هنگام ساخت اپلیکیشن در قسمت Sub-domain وارد کردید را قرار دهید (به عنوان مثال: my-db.apps.teh1.abrhapaas.com).

  • مقدار پورت (-p): به جای متغیر <NodePort> باید مقدار پورت اختصاص‌یافته برای خروج ترافیک را وارد کنید. برای یافتن این مقدار، در داشبورد سرویس روی «مدیریت اپلیکیشن» کلیک کنید، از پنل کناری به قسمت «تنظیمات دامنه و IP» بروید و مقدار NodePort را کپی کنید. (توجه داشته باشید که این مقدار با پورت دیفالت داخلی اپلیکیشن متفاوت است).

  • فلگ رمز عبور (W-): این فلگ باعث می‌شود تا کلاینت پس از اجرای دستور، رمز عبور دیتابیس را از شما درخواست کند.