آموزش نصب PostgreSQL در اوبونتو 20.04 Ubuntu
PostgreSQL یا Postgres یک سیستم مدیریت پایگاه داده اوپن سورس با بسیاری از ویژگی های پیشرفته است که به شما امکان می دهد برنامه های پیچیده بسازید. در این آموزش نصب PostgreSQL در اوبونتو 20.04 Ubuntu را توضیح خواهیم داد و اصول مدیریت بانک اطلاعاتی PostgreSQL را بررسی می کنیم.
پیش نیازها
برای اینکه بتوانید بستهها را نصب کنید ، باید به عنوان root یا کاربر با امتیازات sudo وارد شوید .
یک راز بزرگ درمورد 90 % هاستینگ های ایرانی، اورسل کردن بیش از حد است که باعث افت کیفیت سرورها میشود.
وان سرور با ارائه دسترسی های مختلف این امکان را به شما خواهد داد که تمامی منابع سرورتان را مدیریت و بررسی کنید و همچنین با ارائه گارانتی 100% برگشت وجه ریسک خرید شما را به %0 کاهش میدهد.
نصب 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 استفاده کنید.
لطفا جهت بهبهود کیفیت آموزش های ارسالی، نظرات خود را از طریق کامنت و درج ستاره ارسال کنید
اولین نفر باشید که نظر ارسال میکنید