العودة إلى المدونة
يناير 27, 2026الأدلة

كيفية تثبيت PostgreSQL على خادم Linux

دليل كامل حول تثبيت وتكوين وتأمين خادم قاعدة بيانات PostgreSQL على Ubuntu و CentOS.

كيفية تثبيت PostgreSQL على خادم Linux

PostgreSQL هو نظام إدارة قواعد بيانات علائقية مفتوح المصدر قوي معروف بموثوقيته وثراء الميزات والامتثال للمعايير. سيساعدك هذا الدليل على تثبيت وتكوين PostgreSQL على خادم Hiddence Linux الخاص بك.

تثبيت PostgreSQL على Ubuntu/Debian

PostgreSQL متاح في المستودعات الافتراضية. قم بتثبيت أحدث إصدار:

bash
sudo apt update
sudo apt install postgresql postgresql-contrib -y

# بدء وتفعيل PostgreSQL
sudo systemctl start postgresql
sudo systemctl enable postgresql

# التحقق من التثبيت
sudo systemctl status postgresql
psql --version

تثبيت PostgreSQL على RHEL / CentOS / AlmaLinux / Rocky Linux

لتوزيعات RHEL، تحتاج أولاً إلى إضافة مستودع PostgreSQL:

bash
# تثبيت مستودع PostgreSQL
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# لـ CentOS 8/Rocky Linux 8، استخدم:
# sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# تثبيت PostgreSQL
sudo dnf install -y postgresql15-server postgresql15

# تهيئة قاعدة البيانات
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb

# بدء وتفعيل PostgreSQL
sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15

# التحقق من التثبيت
sudo systemctl status postgresql-15
psql --version

التحقق من التثبيت

bash
# التحقق من حالة PostgreSQL
sudo systemctl status postgresql

# التحقق من إصدار PostgreSQL
psql --version

# الاتصال بـ PostgreSQL (Ubuntu/Debian)
sudo -u postgres psql

# الاتصال بـ PostgreSQL (CentOS/RHEL)
sudo -u postgres psql -d postgres

تأمين PostgreSQL

قم بتعيين كلمة مرور لمستخدم postgres:

bash
# الاتصال بـ PostgreSQL
sudo -u postgres psql

# تعيين كلمة مرور لمستخدم postgres
ALTER USER postgres PASSWORD 'كلمة_المرور_القوية';

# الخروج من PostgreSQL
\q

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

bash
# الاتصال كمستخدم postgres
sudo -u postgres psql

# إنشاء قاعدة البيانات
CREATE DATABASE myapp_db;

# إنشاء مستخدم
CREATE USER app_user WITH PASSWORD 'كلمة_مرور_قوية';

# منح الصلاحيات
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO app_user;

# الخروج
\q

إدارة المستخدمين

bash
# الاتصال بـ PostgreSQL
sudo -u postgres psql

# عرض جميع المستخدمين
\du

# إنشاء مستخدم جديد
CREATE USER newuser WITH PASSWORD 'كلمة_المرور';

# منح الصلاحيات
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO newuser;

# سحب الصلاحيات
REVOKE ALL PRIVILEGES ON DATABASE myapp_db FROM newuser;

# حذف مستخدم
DROP USER newuser;

تمكين الاتصالات البعيدة

للسماح بالاتصالات البعيدة، قم بتحرير ملفات تكوين PostgreSQL:

bash
# تحرير pg_hba.conf (Ubuntu/Debian)
sudo nano /etc/postgresql/15/main/pg_hba.conf

# تحرير pg_hba.conf (CentOS/RHEL)
sudo nano /var/lib/pgsql/15/data/pg_hba.conf

# إضافة سطر:
host    all             all             0.0.0.0/0               md5

# تحرير postgresql.conf (Ubuntu/Debian)
sudo nano /etc/postgresql/15/main/postgresql.conf

# تحرير postgresql.conf (CentOS/RHEL)
sudo nano /var/lib/pgsql/15/data/postgresql.conf

# تغيير:
listen_addresses = '*'

# إعادة تشغيل PostgreSQL
sudo systemctl restart postgresql

أوامر PostgreSQL الأساسية

bash
# الاتصال بقاعدة البيانات
psql -U app_user -d myapp_db

# عرض قواعد البيانات
\l

# الاتصال بقاعدة البيانات
\c database_name

# عرض الجداول
\dt

# وصف الجدول
\d table_name

# تنفيذ ملف SQL
psql -U app_user -d myapp_db -f script.sql

# نسخ احتياطي لقاعدة البيانات
pg_dump -U app_user myapp_db > backup.sql

# استعادة قاعدة البيانات
psql -U app_user -d myapp_db < backup.sql

نصائح مفيدة

  • استخدم دائمًا كلمات مرور قوية لمستخدمي قاعدة البيانات
  • حدد الوصول البعيد لعناوين IP محددة في pg_hba.conf
  • قم بعمل نسخ احتياطية منتظمة لقواعد البيانات باستخدام pg_dump
  • راقب سجلات PostgreSQL: /var/log/postgresql/ (Ubuntu) أو /var/lib/pgsql/15/data/log/ (CentOS)
  • استخدم تجميع الاتصالات (pgBouncer) للتطبيقات عالية الحركة
  • احتفظ بـ PostgreSQL محدثًا إلى أحدث إصدار مستقر للحصول على تصحيحات الأمان