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