كيفية الاتصال بقاعدة بيانات PostgreSQL؟

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

الاتصال بقاعدة بيانات PostgreSQL في Python: دليل شامل للمطورين

يمثل التعامل مع قواعد البيانات جزءًا أساسيًا من أي مشروع برمجي حديث. تُعد PostgreSQL واحدة من أشهر أنظمة إدارة قواعد البيانات العلائقية، وتتميز بالموثوقية والأداء العالي والوظائف الغنية.

في هذه المقالة، سنشرح بالتفصيل كيفية الاتصال بقاعدة بيانات PostgreSQL في Python، والتعامل مع البيانات باستخدام SELECT وDELETE، واستخدام مكتبة psycopg2 مع أمثلة عملية. كما سنتطرق إلى العمل مع SQLite والفرق بينها وبين PostgreSQL.

مزايا PostgreSQL للمطورين

تحظى PostgreSQL بطلب كبير بين المطورين بفضل الخصائص التالية:

  • دعم الاستعلامات SQL المعقدة وأنواع البيانات المتقدمة
  • موثوقية عالية وأمان للبيانات
  • دعم المعاملات (Transactions)، الفهارس (Indexes)، المشغلات (Triggers)، والعروض (Views)
  • قابلية توسع ممتازة للمشاريع الكبيرة
  • مصدر مفتوح ومجتمع نشط

تدعم PostgreSQL أيضًا بيانات JSON، المصفوفات، أنواع البيانات المخصصة، والعديد من الإضافات، مما يجعلها حلاً متعدد الاستخدامات لمختلف المهام.

تثبيت PostgreSQL وإعداد البيئة

تثبيت PostgreSQL على أنظمة التشغيل المختلفة

Windows: قم بتنزيل ملف التثبيت من الموقع الرسمي لـ PostgreSQL واتبع تعليمات معالج التثبيت.

Linux (Ubuntu/Debian):

sudo apt update
sudo apt install postgresql postgresql-contrib

macOS:

brew install postgresql

إنشاء قاعدة بيانات ومستخدم

بعد تثبيت PostgreSQL، يجب إنشاء قاعدة بيانات ومستخدم للعمل:

CREATE DATABASE my_database;
CREATE USER my_user WITH PASSWORD 'my_password';
GRANT ALL PRIVILEGES ON DATABASE my_database TO my_user;

إعداد الوصول إلى قاعدة البيانات

لضمان اتصال آمن، يُوصى بما يلي:

  • تكوين ملف pg_hba.conf للتحكم في الوصول
  • تعيين كلمات مرور قوية للمستخدمين
  • استخدام اتصالات SSL للاتصالات عن بُعد
  • تقييد الوصول عبر الشبكة باستخدام جدار الحماية

الاتصال بـ PostgreSQL من Python

تثبيت وإعداد psycopg2

للعمل مع PostgreSQL في Python، تُستخدم مكتبة psycopg2 بشكل شائع. قم بتثبيتها عبر pip:

pip install psycopg2

إذا واجهت مشاكل في التجميع، استخدم الإصدار الثنائي:

pip install psycopg2-binary

الاتصال الأساسي بقاعدة البيانات

import psycopg2

try:
    connection = psycopg2.connect(
        database="my_database",
        user="my_user",
        password="my_password",
        host="localhost",
        port="5432"
    )
    print("تم إنشاء الاتصال بنجاح!")
except Exception as e:
    print(f"خطأ في الاتصال: {e}")
finally:
    if connection:
        connection.close()
        print("تم إغلاق الاتصال.")

استخدام مدير السياق (Context Manager)

لإدارة الاتصال تلقائيًا، يُوصى باستخدام مدير السياق:

import psycopg2

with psycopg2.connect(
    database="my_database",
    user="my_user",
    password="my_password",
    host="localhost",
    port="5432"
) as connection:
    cursor = connection.cursor()
    cursor.execute("SELECT version();")
    version = cursor.fetchone()
    print(f"إصدار PostgreSQL: {version}")

تنفيذ استعلامات SQL في PostgreSQL

تنفيذ استعلامات SELECT


                    

المدونات

توصيات الكتب