آموزش نصب PostgreSQL 18 در اوبونتو ۲۴.۰۴

PostgreSQL (به اختصار Postgres) یک سیستم پایگاه داده relational-document متن‌باز، قدرتمند، پیشرفته، با کارایی بالا و پایدار است که زبان SQL را گسترش می‌دهد و شامل طیف گسترده‌ای از ویژگی‌ها برای ذخیره‌سازی و مدیریت ایمن داده‌ها است. این سیستم برای مدیریت حجم زیاد و پیچیده داده‌ها و راه‌اندازی محیط‌های سطح سازمانی و مقاوم در برابر خطا، کارآمد، قابل اعتماد و مقیاس‌پذیر است، در حالی که یکپارچگی بالای داده‌ها را تضمین می‌کند.
Postgres (پُستگْرِس‌کیواِل ) همچنین با ویژگی‌هایی مانند نمایه‌سازی پیشرفته (advanced indexing)، جستجوی متن کامل (full-text search)، بسیار توسعه‌پذیر و دارای APIهایی است تا بتوانید راه‌حل‌های خود را برای حل چالش‌های ذخیره‌سازی داده‌های توسعه دهید.

در این مطلب، آموزش نصب PostgreSQL 18 (که در 25 سپتامبر 2025 منتشر شد) را روی یک سرور Ubuntu 24.04 توضیح خواهیم داد و روش‌های ضروری برای استفاده موثر از آن را یاد خواهیم گرفت.

نحوه نصب PostgreSQL در Ubuntu 24.04

PostgreSQL به طور پیشفرض با تمام نسخه‌های اوبونتو از پیش بسته‌بندی شده است. با این حال، اوبونتو شامل یک اسنپ‌شات خاص از PostgreSQL است که برای کل چرخه حیات آن نسخه اوبونتو ثابت می‌ماند.
اگر می‌خواهید به نسخه‌های جدیدتر PostgreSQL دسترسی داشته باشید، می‌توانید از اسکریپت پیکربندی مخزن خودکار زیر استفاده کنید که به طور خودکار مخزن رسمی PostgreSQL Apt را راه‌اندازی می‌کند.

ابتدا لیست بسته‌ها را به‌روزرسانی و PostgreSQL را نصب کنید (آخرین نسخه تا به امروز PostgreSQL 18 است):

نصب pgAdmin 4 برای مدیریت PostgreSQL

اگر رابط گرافیکی را برای مدیریت پایگاه‌های داده PostgreSQL خود ترجیح می‌دهید، می‌توانید pgAdmin 4، ابزار رسمی مدیریت PostgreSQL را نصب نمائید که به شما امکان می‌دهد پایگاه‌های داده، کاربران، کوئری‌ها و موارد دیگر را از یک داشبورد مبتنی بر وب مدیریت کنید.

در اوبونتو 24.04، در مخازن پیشفرض، pgAdmin 4 موجود نیست، بنابراین ما از مخزن رسمی pgAdmin استفاده خواهیم کرد.

پس از اضافه شدن مخزن pgAdmin، می‌توانید pgAdmin 4 را مطابق راهنمای زیر نصب کنید.

پس از نصب، سرویس PostgreSQL باید به طور خودکار شروع به کار کند و می‌توانید با اجرای دستور زیر وضعیت آن را تایید کنید:

برای فعال کردن شروع PostgreSQL هنگام بوت (اگر قبلا فعال نشده است):

پس از اجرای این دستور، می‌توانید pgAdmin را در مرورگر خود در آدرس زیر باز کنید:

نحوه استفاده از نقش‌ها و پایگاه‌های داده PostgreSQL

در PostgreSQL، احراز هویت کلاینت توسط فایل پیکربندی etc/postgresql/18/main/pg_hba.conf/ کنترل می‌شود (شماره نسخه ممکن است بسته به نصب شما متفاوت باشد).

روش احراز هویت پیشفرض برای مدیر پایگاه داده peer است، به این معنی که نام کاربری سیستم عامل کلاینت را دریافت و بررسی می‌کند که آیا با نام کاربری پایگاه داده درخواستی مطابقت دارد یا خیر تا امکان دسترسی به اتصالات محلی فراهم شود.

در طول فرآیند نصب، یک حساب کاربری سیستم به نام postgres بدون رمز عبور ایجاد شد که نام کاربری پیشفرض مدیر پایگاه داده نیز هست.

درک نقش‌های PostgreSQL

در PostgreSQL، مدیریت مجوز دسترسی به پایگاه داده از طریق نقش‌ها انجام می‌شود. یک نقش می‌تواند به عنوان یک کاربر پایگاه داده یا گروهی از کاربران پایگاه داده در نظر گرفته شود، بسته به نحوه تنظیم نقش.

نقش پیشفرض postgres است. نکته مهم این است که نقش‌های پایگاه داده از نظر مفهومی کاملا به کاربران سیستم عامل متصل نیستند، اما در واقع ممکن است به هم مرتبط باشند (به‌ویژه برای اهداف احراز هویت).
نقش‌ها می‌توانند:

  • اشیاء پایگاه داده (جداول، نماها، توابع و غیره) را در اختیار داشته باشند.
  • امتیازات مربوط به آن اشیاء را به نقش‌های دیگر اختصاص دهند.
  • عضویت در یک نقش را به نقش دیگری اعطا کنند (وراثت نقش).

خرید VPS لینوکس با دسترسی کامل SSH و منابع اختصاصی، مناسب برای برنامه‌نویسان، توسعه‌دهندگان و مدیران سایت در پارسدو فراهم است.

رمزهای عبور رمزگذاری شده را برای نقش‌های PostgreSQL فعال کنید

برای پیکربندی نقش‌ها برای استفاده از رمزهای عبور رمزگذاری شده به جای احراز هویت همتا، باید فایل pg_hba.conf را تغییر دهید. روش احراز هویت را از همتا به scram-sha-256  یا md5 برای احراز هویت رمز عبور تغییر دهید.

خطوطی را که شبیه به این هستند پیدا کنید:

و به: تغییر دهید

این کار احراز هویت peer را برای کاربر postgres حفظ می‌کند اما برای سایر کاربران به رمز عبور نیاز دارد.

سپس سرویس PostgreSQL را برای اعمال تغییرات ریستارت کنید:

نحوه استفاده از PostgreSQL در اوبونتو

پس از راه‌اندازی همه چیز، می‌توانید با دستور زیر به حساب سیستم postgres دسترسی پیدا کنید، که در آن علامت -i به sudo می‌گوید که پوسته مشخص شده توسط ورودی پایگاه داده رمز عبور کاربر هدف را به عنوان پوسته ورود به سیستم اجرا کند.

برای دسترسی مستقیم به پوسته postgres، بدون دسترسی اولیه به حساب کاربری postgres، دستور زیر را اجرا کنید:

می‌توانید با تایپ \q یا فشار دادن Ctrl+D از پوسته postgres خارج شوید.

ایجاد نقش‌های پایگاه داده PostgreSQL

با استفاده از دستور زیر، یک نقش کاربری جدید ایجاد کنید:

برای ایجاد نقشی با ویژگی LOGIN (نقش‌های دارای ویژگی LOGIN را می‌توان همانند کاربران پایگاه داده در نظر گرفت):

یا از دستور CREATE USER استفاده کنید که به طور پیشفرض تابع ورود را در نظر می‌گیرد:

ایجاد یک نقش با رمز عبور

همچنین می‌توان یک نقش را با رمز عبور ایجاد کرد، که اگر روش احراز هویت کلاینت را طوری پیکربندی کرده‌اید که نیاز به رمزهای عبور رمزگذاری شده داشته باشد، ضروری است:

یا با استفاده از سینتکس CREATE USER:

ایجاد یک نقش با امتیازات اضافی

می‌توانید نقشی با امتیازات کاربر ارشد ایجاد کنید (با دقت استفاده کنید):

یا نقشی ایجاد کنید که بتواند پایگاه‌های داده ایجاد کند:

فهرست کردن نقش‌های موجود در پایگاه داده PostgreSQL

برای فهرست کردن نقش‌های کاربری موجود، از هر یک از این دستورات استفاده کنید:

یا:

برای مشاهده اطلاعات دقیق‌تر:

اصلاح نقش‌های پایگاه داده PostgreSQL

برای تغییر رمز عبور یک نقش:

برای اعطای امتیازات superuser به یک نقش موجود:

برای لغو امتیازات superuser:

حذف یک نقش پایگاه داده PostgreSQL

برای حذف یک نقش کاربری موجود، از دستور DROP ROLE استفاده کنید:

توجه: شما نمی‌توانید نقشی را که مالک اشیاء پایگاه داده است، حذف کنید، ابتدا باید آن اشیاء را دوباره اختصاص دهید یا حذف کنید.

ایجاد یک پایگاه داده PostgreSQL

پس از ایجاد یک نقش با نام خاص (به عنوان مثال کاربر parsdev)، می‌توانید یک پایگاه داده ایجاد کنید که توسط آن نقش مدیریت شود:

برای ایجاد یک پایگاه داده متعلق به یک نقش خاص:

برای ایجاد یک پایگاه داده با کدگذاری خاص:

اعطای امتیازات به یک نقش

پس از ایجاد پایگاه داده، تمام امتیازات را به نقش اعطا کنید:

اکنون برای مدیریت پایگاه داده parsdev، به پوسته postgres به عنوان نقش parsdev دسترسی پیدا کنید:

اگر از شما رمز عبور خواسته شد، رمز عبوری را که برای نقش تعیین کرده‌اید وارد کنید.

ایجاد یک جدول PostgreSQL

ما یک جدول آزمایشی به نام نویسندگان ایجاد خواهیم کرد که اطلاعات مربوط به نویسندگان parsdev.com را ذخیره می‌کند:

توجه: ما از SERIAL برای کلید اصلی استفاده می‌کنیم که به طور خودکار اعداد متوالی تولید می‌کند، که عملی‌تر از اختصاص دستی کدها است.

درج داده در جدول PostgreSQL

پس از ایجاد جدول، آن را با برخی داده‌ها پر کنید:

پرس و جو در داده‌ها از جدول PostgreSQL

برای مشاهده داده‌های ذخیره شده در یک جدول، دستور SELECT را اجرا کنید:

برای ستون‌های خاص:

با فیلتر کردن:

با مرتب‌سازی:

به‌روزرسانی داده‌ها در جدول PostgreSQL

برای تغییر داده‌های موجود:

حذف داده‌ها از جدول PostgreSQL

برای حذف ردیف‌های خاص:

لیست جداول پایگاه داده PostgreSQL

شما می‌توانید تمام جداول موجود در پایگاه داده فعلی را با استفاده از موارد زیر فهرست کنید:

برای اطلاعات بیشتر:

برای مشاهده ساختار جدول:

تغییر ساختار جدول PostgreSQL

برای اضافه کردن یک ستون جدید به یک جدول موجود:

برای حذف یک ستون:

برای تغییر نام یک ستون:

حذف/حذف یک جدول PostgreSQL

برای حذف یک جدول در پایگاه داده فعلی:

برای حذف با آبشار (حذف اشیاء وابسته):

لیست همه پایگاه‌های داده PostgreSQL

برای فهرست کردن همه پایگاه‌های داده، از هر یک از دستورات زیر استفاده کنید:

یا برای توضیحات دقیق‌تر:

یا خلاصه:

حذف/حذف یک پایگاه داده PostgreSQL

اگر می‌خواهید یک پایگاه داده را حذف کنید:

هشدار: این کار تمام داده‌های موجود در پایگاه داده را برای همیشه حذف می‌کند.

به یک پایگاه داده PostgreSQL دیگر بروید
می‌توانید به راحتی از یک پایگاه داده به پایگاه داده دیگر بروید:

یا خلاصه:

پیکربندی PostgreSQL برای دسترسی از راه دور

به طور پیش‌فرض، PostgreSQL فقط اتصالات را از localhost می‌پذیرد.
برای اجازه دادن به اتصالات از راه دور، باید فایل postgresql.conf را ویرایش کنید.

خط زیر را پیدا کنید:

آن را به:

بعد، فایل pg_hba.conf را ویرایش کنید.

خطی برای اجازه دادن به اتصالات از شبکه خود اضافه کنید (192.168.1.0/24 را با شبکه خود جایگزین کنید):

یا برای اجازه دادن از هر IP (امنیت کمتر):

اجازه دادن به PostgreSQL از طریق فایروال:

در نهایت، PostgreSQL را ریستارت کنید.

تنظیم اولیه عملکرد PostgreSQL

برای عملکرد بهتر در اوبونتو ۲۴.۰۴، تنظیم این تنظیمات را در postgresql.conf در نظر بگیرید:

تغییرات پیشنهادی (بر اساس رم سرور خود تنظیم کنید):

پس از تغییرات، PostgreSQL را ریستارت کنید:

 

بکاپ و بازیابی پایگاه‌های داده PostgreSQL

برای بکاپ از یک پایگاه داده واحد:

برای بکاپ‌گیری از همه پایگاه‌های داده.

برای بازیابی یک پایگاه داده.

جمع‌بندی

در این مطلب، آموزش نصب PostgreSQL 18 را در اوبونتو ۲۴.۰۴ LTS توضیح دادیم. نصب، مدیریت کاربر، عملیات پایگاه داده، پیکربندی دسترسی از راه دور، تنظیم عملکرد و استراتژی‌های بکاپ‌گیری را بررسی کردیم. می‌توانید سوالات یا نظرات خود را در نظرات زیر برای ما ارسال کنید.