راهنمای جامع نصب و مدیریت PostgreSQL 18 روی اوبونتو (Bare Metal / WSL2)
با وجود سهولت پیادهسازی محیطهای توسعه مبتنی بر داکر (Docker)، درک عمیقِ معماری نصب محلی (Bare Metal) برای مدیریت سرورهای عملیاتی (Production) امری حیاتی است. این راهنما به بررسی دقیق ابزارهای مدیریتی، ساختار پیکربندی و چرخه حیات کلاسترهای PostgreSQL در محیط اوبونتو (و WSL2) میپردازد.
پیش از شروع، باید دو مفهوم کلیدی در اکوسیستم دبیان/اوبونتو را درک کنیم:
postgresql-common موتور دیتابیس را نصب نمیکند؛ بلکه زیرساختهای مدیریتی لینوکس (مانند دستورات pg_lsclusters) را فراهم میآورد. ساخت یک کلاستر جدید تنها زمانی ممکن است که باینریهای یک نسخه مشخص (مثلاً postgresql-18) نصب شده باشند.postgres)، دایرکتوری داده (Data Directory)، پورت ارتباطی و فایلهای تنظیمات مجزا است. سیستمعامل اوبونتو قابلیت میزبانی همزمان از چندین کلاستر با نسخههای متفاوت را داراست.استفاده از محیط 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 روی پورت $۵۴۳۲$ ایجاد میشود. فایل پیکربندی اصلی این کلاستر در مسیر /etc/postgresql/18/main/postgresql.conf قرار دارد.
برای بهینهسازی عملکرد (Performance Tuning) و جلوگیری از تداخل، تغییرات زیر توصیه میشود:
shared_buffers معادل $۲۵\%$ از کل حافظه RAM و مقداردهی مناسب برای work_mem جهت بهبود عملکرد کوئریهای پیچیده.archive_mode = on و پیکربندی archive_command برای انتقال امن لاگها به خارج از دایرکتوری دادهها، که برای استراتژیهای بکاپگیری و بازیابی (Disaster Recovery) الزامی است.برای شبیهسازی معماریهای پیشرفته (مانند Master-Replica)، میتوانید کلاسترهای مستقلی ایجاد کنید. اوبونتو به صورت خودکار پورتهای خالی بعدی (مانند $۵۴۳۳$) را به کلاسترهای جدید اختصاص میدهد:
# ایجاد و اجرای یک کلاستر جدید با نام replica
sudo pg_createcluster 18 replica --start
به جای درگیر شدن با باینریهای سطح پایین (مانند pg_ctl)، اوبونتو ابزارهای قدرتمندی برای مدیریت یکپارچه کلاسترها ارائه میدهد:
pg_lsclusterssudo pg_ctlcluster 18 main restartsudo -u postgres psql -p 5454sudo pg_dropcluster 18 replica🎥 محتوای ویدئویی
برای مشاهده پیادهسازی عملی تمامی این مفاهیم و آشنایی با جزئیاتی که هر متخصص PostgreSQL باید بداند، فیلم آموزشی یکساعته نصب و راهاندازی پستگرس روی اوبونتو را در لینک زیر میتوانید مشاهده نمایید: