الاتصال بقاعدة بيانات 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
المدونات
توصيات الكتب
اقرأ أيضًا