آموزش نصب PostgreSQL در اوبونتو 20.04 Ubuntu - وان سرور آکـادمی
آموزش نصب PostgreSQL در اوبونتو 20.04 Ubuntu
آموزش نصب PostgreSQL در اوبونتو 20.04 Ubuntu

آموزش نصب PostgreSQL در اوبونتو 20.04 Ubuntu

زمان تقریبی مطالعه: 3 دقیقه

آموزش نصب PostgreSQL در اوبونتو 20.04 Ubuntu

PostgreSQL یا Postgres یک سیستم مدیریت پایگاه داده اوپن سورس با بسیاری از ویژگی های پیشرفته است که به شما امکان می دهد برنامه های پیچیده بسازید. در این آموزش نصب PostgreSQL در اوبونتو 20.04 Ubuntu را توضیح خواهیم داد و اصول مدیریت بانک اطلاعاتی PostgreSQL را بررسی می کنیم.

پیش نیازها

برای اینکه بتوانید بسته‌ها را نصب کنید ، باید به عنوان root یا کاربر با امتیازات sudo وارد شوید .

یک راز بزرگ درمورد 90 % هاستینگ های ایرانی، اورسل کردن بیش از حد است که باعث افت کیفیت سرورها میشود.

وان سرور با ارائه دسترسی های مختلف این امکان را به شما خواهد داد که تمامی منابع سرورتان را مدیریت و بررسی کنید و همچنین با ارائه گارانتی 100% برگشت وجه ریسک خرید شما را به %0 کاهش میدهد.

برای خرید سرور مجازی با گارانتی 100% بازگشت وجه کلیک کنید.

نصب PostgreSQL در اوبونتو 20.04 Ubuntu

در زمان نوشتن این مقاله ، آخرین نسخه PostgreSQL موجود از مخازن رسمی اوبونتو ، نسخه 10.4 PostgreSQL است.

دستورات زیر را برای نصب سرور PostgreSQL در اوبونتو اجرا کنید:

sudo apt update
sudo apt install postgresql postgresql-contrib

ما همچنین بسته نصب PostgreSQL را نصب می کنیم که چندین ویژگی اضافی را برای سیستم پایگاه داده PostgreSQL فراهم می کند.

پس از اتمام نصب ، سرویس PostgreSQL بطور خودکار شروع می شود. از ابزارpsqlبرای اتصال به سرور پایگاه داده PostgreSQL و چاپ نسخه آن و تأیید نصب استفاده کنید :

sudo -u postgres psql -c "SELECT version();"
PostgreSQL 12.2 (Ubuntu 12.2-4) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.3.0-8ubuntu1) 9.3.0, 64-bit

PostgreSQL نصب شده است ، و می توانید شروع به استفاده از آن کنید.

رول ها و روشهای تأیید اعتبار PostgreSQL

مجوزهای دسترسی به پایگاه داده در PostgreSQL با مفهوم رول ها صورت می گیرد. یک رول می تواند نماینده کاربر بانک اطلاعاتی یا گروهی از کاربران پایگاه داده باشد.

PostgreSQL از چندین روش تأیید اعتبار پشتیبانی می کند . متداول ترین روش ها عبارتند از:

  • Trust – یک رول می تواند بدون پسورد وصل شود ، تا زمانی که شرایط تعریف شده در pg_hba.confآن برآورده شود.
  • Password – یک رول با ارائه رمز عبور می تواند ارتباط برقرار کند. کلمه عبور در scram-sha-256، md5و password ذخیره میشود.
  • Ident – فقط در اتصالات TCP / IP پشتیبانی می شود.
  • Peer – همانند Ident ، اما فقط در اتصالات محلی پشتیبانی می شود.

احراز هویت مشتری PostgreSQL در پرونده پیکربندی به نام pg_hba.conf تعریف شده است . به طور پیش فرض ، PostgreSQL برای ارتباطات محلی از روش تأیید هویت Peer استفاده می کند.

postgresکاربر به طور خودکار در هنگام نصب PostgreSQL ایجاد شده و این کاربر سوپر یوزر PostgreSQL است و معادل کاربر ریشه MySQL است.

برای ورود به سرور PostgreSQL به عنوان کاربر postgres، ابتدا تغییر کاربر دهید و سپس با استفاده از ابزار psqlبه PostgreSQL دسترسی پیدا کنید :

sudo su - postgres
psql

از اینجا ، می توانید با نمونه PostgreSQL خود در تعامل باشید. برای خارج شدن از شل PostgreSQL:

\q

راه دیگر برای دسترسی به اعلان PostgreSQL بدون تعویض کاربران ، استفاده از این دستور sudo است:

sudo -u postgres psql

معمولاً فقط باید از طریق localhost وارد سرور بانک اطلاعاتی postgresشوید .

ایجاد رول PostgreSQL و بانک اطلاعاتی

فقط سوپریوزها و رول های دارای امتیاز CREATEROLE می توانند نقش های جدیدی را ایجاد کنند.

مثال زیر نحوه ایجاد رول جدید به نام john و بانک اطلاعاتی johndb را نشان می دهد و امتیازاتی را در این پایگاه داده می دهد:

یک نقش PostgreSQL جدید ایجاد کنید:

sudo su - postgres -c "createuser john"

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

sudo su - postgres -c "createdb johndb"

برای اعطای مجوز به کاربر در پایگاه داده ، به پوسته PostgreSQL وصل شوید:

sudo -u postgres psql

و عبارت زیر را اجرا کنید:

grant all privileges on database johndb to john;

دسترسی از راه دور به سرور PostgreSQL را فعال کنید

به طور پیش فرض ، سرور PostgreSQL فقط در شبکه محلی ( 127.0.0.1) فراخوانی میشود.

برای فعال کردن دسترسی از راه دور به سرور PostgreSQL ، پرونده پیکربندی را باز کرده postgresql.confو listen_addresses = '*'در CONNECTIONS AND AUTHENTICATIONبخش اضافه کنید .

sudo nano /etc/postgresql/12/main/postgresql.conf
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -

listen_addresses = '*'     # what IP address(es) to listen on;

سپس ذخیره فایل و راه اندازی مجدد سرویس PostgreSQL:

sudo service postgresql restart

تغییرات را با استفاده از ابزار ss تأیید کنید:

ss -nlt | grep 5432

خروجی نشان می دهد که سرور PostgreSQL در تمام رابط ها فراخوانی میشود ( 0.0.0.0):

LISTEN  0        244              0.0.0.0:5432           0.0.0.0:*              
LISTEN  0        244                 [::]:5432              [::]:* 

مرحله بعدی پیکربندی سرور برای پذیرش اتصالات از راه دور با ویرایش فایل pg_hba.conf است.

در زیر چند مثال وجود دارد که موارد استفاده مختلف را نشان می دهد:

nano /etc/postgresql/12/main/pg_hba.conf
# TYPE  DATABASE        USER            ADDRESS                 METHOD

# The user jane can access all databases from all locations using md5 password
host    all             jane            0.0.0.0/0                md5

# The user jane can access only the janedb from all locations using md5 password
host    janedb          jane            0.0.0.0/0                md5

# The user jane can access all databases from a trusted location (192.168.1.134) without a password
host    all             jane            192.168.1.134            trust

آخرین مرحله باز کردن پورت 5432در فایروال است.

با فرض اینکه از شما UFWبرای مدیریت دیوار آتش استفاده می کند و می خواهید از سابنت192.168.1.0/24 دسترسی داشته باشید ، دستور زیر را اجرا می کنید:

sudo ufw allow proto tcp from 192.168.1.0/24 to any port 5432

اطمینان حاصل کنید که فایروال شما پیکربندی شده است تا اتصالات را فقط از محدوده های IP معتبر بپذیرد.

نتیجه گیری

ما به شما نحوه نصب و پیکربندی PostgreSQL در سرور Ubuntu 20.04 را نشان داده ایم. برای اطلاعات بیشتر در مورد این موضوع از مستندات PostgreSQL 12 استفاده کنید.

لطفا جهت بهبهود کیفیت آموزش های ارسالی، نظرات خود را از طریق کامنت و درج ستاره ارسال کنید

4.7/5 - (16 امتیاز)