بازگشت به وبلاگ
ژانویه 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 را در آخرین نسخه پایدار برای وصله‌های امنیتی به‌روز نگه دارید