بخش اول: ورود به جهان قدرتمند PostgreSQL
بخش دوم: جادوی جستجو و کوئری‌نویسی
بخش سوم: بهینه‌سازی و ساختارهای پیشرفته
بخش چهارم: امنیت، پشتیبانی، عملکرد و نگه‌داری
کارگاه‌ها و مثال‌های کاربردی

🔗 نگاهی عمیق تر به راه اندازی سرویس‌های اصلی پستگرس روی سرورهای Bare Metal (بدون داکر) – کار با WSL و اوبونتو ۲۶.۴ – 🎥

راهنمای جامع نصب و مدیریت PostgreSQL 18 روی اوبونتو (Bare Metal / WSL2)

با وجود سهولت پیاده‌سازی محیط‌های توسعه مبتنی بر داکر (Docker)، درک عمیقِ معماری نصب محلی (Bare Metal) برای مدیریت سرورهای عملیاتی (Production) امری حیاتی است. این راهنما به بررسی دقیق ابزارهای مدیریتی، ساختار پیکربندی و چرخه حیات کلاسترهای PostgreSQL در محیط اوبونتو (و WSL2) می‌پردازد.

۱. معماری پکیج‌ها و مفهوم کلاستر در PostgreSQL

پیش از شروع، باید دو مفهوم کلیدی در اکوسیستم دبیان/اوبونتو را درک کنیم:

  • تفاوت بسته‌های مدیریتی و موتور دیتابیس: نصب بسته postgresql-common موتور دیتابیس را نصب نمی‌کند؛ بلکه زیرساخت‌های مدیریتی لینوکس (مانند دستورات pg_lsclusters) را فراهم می‌آورد. ساخت یک کلاستر جدید تنها زمانی ممکن است که باینری‌های یک نسخه مشخص (مثلاً postgresql-18) نصب شده باشند.
  • تعریف کلاستر (Cluster): در ادبیات پستگرس، کلاستر به معنای شبکه‌ای از سرورها نیست؛ بلکه به یک نمونه مستقل اجرایی (Instance) گفته می‌شود. هر کلاستر دارای پراسس اختصاصی (postgres)، دایرکتوری داده (Data Directory)، پورت ارتباطی و فایل‌های تنظیمات مجزا است. سیستم‌عامل اوبونتو قابلیت میزبانی همزمان از چندین کلاستر با نسخه‌های متفاوت را داراست.

۲. پیاده‌سازی و نصب (محیط WSL2 / Ubuntu)

استفاده از محیط WSL2 با پشتیبانی از systemd، تجربه‌ای کاملاً مشابه با سرورهای لینوکسی واقعی را ارائه می‌دهد. برای نصب آخرین نسخه پایدار از مخازن رسمی، مراحل زیر را طی کنید:

# نصب پیش‌نیازهای مدیریتی
sudo apt install -y postgresql-common

# افزودن مخزن رسمی پستگرس
sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh

# به‌روزرسانی و نصب نسخه ۱۸
sudo apt update && sudo apt install -y postgresql-18

۳. مدیریت و پیکربندی کلاستر پیش‌فرض (main)

پس از نصب، یک کلاستر پیش‌فرض با نام main روی پورت $۵۴۳۲$ ایجاد می‌شود. فایل پیکربندی اصلی این کلاستر در مسیر /etc/postgresql/18/main/postgresql.conf قرار دارد.
برای بهینه‌سازی عملکرد (Performance Tuning) و جلوگیری از تداخل، تغییرات زیر توصیه می‌شود:

  • تغییر پورت: تغییر پورت پیش‌فرض (مثلاً به $۵۴۵۴$) برای امنیت بیشتر یا جلوگیری از تداخل با سایر سرویس‌ها.
  • بهینه‌سازی حافظه (Memory Tuning): تنظیم پارامتر shared_buffers معادل $۲۵\%$ از کل حافظه RAM و مقداردهی مناسب برای work_mem جهت بهبود عملکرد کوئری‌های پیچیده.
  • مدیریت لاگ‌های تراکنش (WAL): فعال‌سازی archive_mode = on و پیکربندی archive_command برای انتقال امن لاگ‌ها به خارج از دایرکتوری داده‌ها، که برای استراتژی‌های بکاپ‌گیری و بازیابی (Disaster Recovery) الزامی است.

۴. ایجاد و مدیریت کلاسترهای ثانویه

برای شبیه‌سازی معماری‌های پیشرفته (مانند Master-Replica)، می‌توانید کلاسترهای مستقلی ایجاد کنید. اوبونتو به صورت خودکار پورت‌های خالی بعدی (مانند $۵۴۳۳$) را به کلاسترهای جدید اختصاص می‌دهد:

# ایجاد و اجرای یک کلاستر جدید با نام replica
sudo pg_createcluster 18 replica --start

۵. جعبه‌ابزار مدیریت کلاسترها در اوبونتو

به جای درگیر شدن با باینری‌های سطح پایین (مانند pg_ctl)، اوبونتو ابزارهای قدرتمندی برای مدیریت یکپارچه کلاسترها ارائه می‌دهد:

  • مشاهده وضعیت تمامی کلاسترها: pg_lsclusters
  • مدیریت چرخه حیات سرویس (توقف، اجرا، راه‌اندازی مجدد): sudo pg_ctlcluster 18 main restart
  • اتصال به کلاینت دیتابیس در پورت سفارشی: sudo -u postgres psql -p 5454
  • حذف ایمن و کامل یک کلاستر: sudo pg_dropcluster 18 replica

🎥 محتوای ویدئویی
برای مشاهده پیاده‌سازی عملی تمامی این مفاهیم و آشنایی با جزئیاتی که هر متخصص PostgreSQL باید بداند، فیلم آموزشی یک‌ساعته نصب و راه‌اندازی پستگرس روی اوبونتو را در لینک زیر می‌توانید مشاهده نمایید:

فروشگاه
جستجو
دوره ها

لطفا کلمات کلیدی را وارد کنید