نماد سایت وبلاگ شتابان هاست

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

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

PostgreSQL یا Postgres یک سیستم مدیریت ديتابيس با بسیاری از ویژگی های پیشرفته است که به شما امکان می دهد محیط هایی را براي رفع خطا یا برنامه های پیچیده ایجاد کنید. در این مقاله نحوه نصب سرور ديتابيس PostgreSQL را در اوبونتو ۲۰٫۰۴ توضیح خواهیم داد و اصول مدیریت بانک اطلاعاتی PostgreSQL را بررسی می کنیم. با ما در شتابان هاست همراه باشيد. 

پیش نیازها

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

 

۱) PostgreSQL را در اوبونتو نصب کنید

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

sudo apt update
sudo apt install postgresql postgresql-contrib

 

پس از اتمام نصب ، سرویس 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 با مفهوم role انجام می شود. PostgreSQL از چندین روش تأیید هویت پشتیبانی می کند. متداول ترین روش ها عبارتند از:

احراز هویت كاربر PostgreSQL در فايل پیکربندی با نام پیش فرض pg_hba.conf.By تعریف شده است ، کاربر Postgres هنگام نصب PostgreSQL بطور خودکار ایجاد می شود.

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

sudo su - postgres
psql

 

از اینجا ، می توانید با نمونه PostgreSQL خود در ارتباط باشید. برای خارج شدن از نوع پوسته PostgreSQL از عبارت زير استفاده كنيد:

\q

به طور کلی ، شما باید به عنوان 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 فقط در رابط محلی عمل مي كند (۱۲۷٫۰٫۰٫۱). برای فعال کردن دسترسی از راه دور به سرور PostgreSQL ، پرونده پیکربندی postgresql.conf را باز کنید و listen_addresses  را در بخش پيوندها و مجوزها  اضافه کنید.

 
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 در تمام رابط ها (۰٫۰٫۰٫۰) عمل مي كند:

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

مرحله بعدی پیکربندی سرور برای پذیرش اتصالات از راه دور با ویرایش پرونده 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

 

آخرین مرحله باز کردن پورت ۵۴۳۲ است. با فرض اینکه از UFW برای مدیریت فایروال خود استفاده می کنید ، و می خواهید از شبکه ۱۹۲٫۱۶۸٫۱٫۰/۲۴ اجازه دسترسی داشته باشید ، دستور زیر را اجرا می کنید:

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

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

ما به شما نحوه نصب و پیکربندی PostgreSQL در سرور Ubuntu 20.04 را نشان داده ایم.

خروج از نسخه موبایل