يناير 27, 2026الأدلة
كيفية تثبيت PostgreSQL على خادم Linux
دليل كامل حول تثبيت وتكوين وتأمين خادم قاعدة بيانات PostgreSQL على Ubuntu و CentOS.

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 محدثًا إلى أحدث إصدار مستقر للحصول على تصحيحات الأمان