Skip to main content

Postgresql

یکی از مهم‌ترین اجزای هر پروژه برای نگه‌داری اطلاعات همان‌گونه که می‌دانید، پایگاه‌داده یا database است. در این مستند ما برای ذخیره‌سازی و نگه‌داری داده‌ها از دیتابیس postgresql استفاده می‌کنیم.

ساخت اپ Postgresql

برای استفاده از این سرویس در دارکوب ابتدا به داشبورد رفته و در منوی ساخت اپ، یک اپ Postgresql می‌سازیم. ابتدا تنظیمات مورد نیاز را انجام می‌دهیم:

سپس کلاستر و Namespace موردنیاز را انتخاب کرده و گزینه‌ی ساخت اپ را می‌زنیم.

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

همانطور که مشاهده می‌کنید، host ما 8aa77665-64e9-4066-a6ec-0d8e5fcab43a.hsvc.ir:31900 بوده و همچنین یوزر ما نیز postgres می‌باشد.

دسترسی به postgresql از طریق ترمینال

همانطور که در صفحه‌ی ساخت اپ دیدید،‌ می‌توانید با کپی کردن PSQL Command و وارد کردن آن در ترمینال، با سرویس Postgre خود ارتباط برقرار کنید.

تنظیم postgresql در Django

حال که اپ دیتابیس‌ ما بالا آمده و آماده است، باید آن را در پروژه Djangoمان نیز آپدیت کنیم. این تنظیمات در فایل setting.py از پروژه قرار دارد.

همانطور که می‌دانید برای تنظیم‌کردن postgre در Django باید تیکه کدی مانند زیر را همانطور که گفتیم به setting.py اضافه کنیم. (اگر از قبل وجود داشت باید آن را تغییر دهیم.)

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'database name',
'USER': 'username',
'PASSWORD': 'password',
'HOST': 'hostname',
'PORT': 'port of hostname for psql',
}
}

در نهایت تنظیمات نهایی به شکل زیر است:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'mydb',
'USER': 'postgres',
'PASSWORD': '******',
'HOST': '8aa77665-64e9-4066-a6ec-0d8e5fcab43a.hsvc.ir',
'PORT': '31900',
}
}

حال که دیتابیس را در Django تنظیم کردیم، مدل‌ها‌یمان را بر روی پایگاه‌داده migrate می‌کنیم.

الان پروژه‌ما به postgreای که داشتیم وصل شده است. در شکل زیر، نمایی از جدول‌هایی که در پایگاه‌داده ما ساخته شده است قابل مشاهده می‌باشد.