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

آموزش مراحل نصب PostgreSQL در اوبونتو

5/5 - (1 امتیاز)

اگر برای مدیریت پایگاه داده پروژه خود به یک دیتابیس قدرتمند و امن نیاز دارید که به خوبی از عهده مدیریت داده های حجیم و کوئری های سنگین بربیاید، PostgreSQL یک گزینه ایده آل برای شماست.

با این که این دیتابیس PostgreSQL در سرورهای MacOS به طور پیش فرض قابل استفاده است ولی برای نصب PostgreSQL در اوبونتو باید یک سری دستورات خاص را اجرا کنید تا این سیستم در سرور لینوکس شما قابل استفاده باشد.

در این آموزش به تمام مراحل لازم برای نصب PostgreSQL در اوبونتو می پردازیم که اگر نکات ارائه شده را هم مدنظر قرار دهید و دستورات را به ترتیب اجرا کنید، مطمئن باشید که بدون هیچ خطا و مشکلی، این سیستم مدیریت پایگاه داده فوق العاده را در سرور اختصاصی یا سرور مجازی خود نصب خواهید کرد:

چرا PostgreSQL؟

چرا PostgreSQL

انتخاب یک DBMS مناسب برای موفقیت پروژه بسیار ضروری است. هر پایگاه داده ای متناسب با ویژگی ها و ساختار خود دارای مزایا و معایبی است و با اینکه PostgreSQL به خاطر ویژگی ها و قابلیت های فوق العاده خود به درجه بالایی رسیده است ولی باز هم از این قائده مستثنی نیست. این که PostgreSQL را بهترین سیستم مدیریت پایگاه داده معرفی کنیم، کار درستی نیست چون زمانی می توانیم صفت ” بهترین” را به یک DBMS اختصاص دهیم که نیازها و اولویت های خود را بشناسیم و بدانیم که سیستم موردنظر هم از عهده تامین آنها برمی آید.

با این که PostgreSQL در مدیریت داده های مربوط به پروژه های داینامیک کارکرد خوبی ندارند و پتانسیل مقیاس پذیری آن نسبتاً ضعیفی دارد ولی قابلیت اطمینان، پایداری بالا، یکپارچگی داده ها و پشتیبانی از انواع داده ها مثل xml، Json و H-store از نقاط قوت این سیستم است که باعث می شود اکثر تیم های توسعه دهنده PostgreSQL را به عنوان بهترینِ خود انتخاب کنند.

ویژگی هایی فوق العاده ای مثل موازی سازی خواندن کوئری ها، روش های قدرتمند برای ایندکس و کنترل همزمان چند نسخه باعث شده است که عملکرد PostgreSQL به عالی ترین حد خود برسد و با ارتقا امنیت و سرعت پردازش به یکی از محبوب ترین سیستم های مدیریت پایگاه داده تبدیل شده است.

پس با این اوصاف اگر می خواهید یک راه آسان و قابل اعتماد برای مدیریت پایگاه داده خود داشته باشید، PostgreSQL را در سرور خود نصب کنید:

پیش نیازهای نصب PostgreSQL در اوبونتو

  • سرور با توزیع اوبونتو (ترجیحاً 20.04)
  • حساب کاربری معمولی با امتیازات sudo
  • دسترسی به ترمینال

مراحل نصب PostgreSQL در اوبونتو

مراحل نصب PostgreSQL

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

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

دو روش برای نصب PostgreSQL در اوبونتو وجود دارد که لوکیشن Repository لازم برای نصب، مشخص کننده نوع روش است:

روش 1: نصب POSTGRES با استفاده از Repository رسمی

اگر آپدیت بودن پکیج نصبی برای شما خیلی مهم است، این روش برایتان مناسب تر است چون با اینکه Repository اصلی اوبونتو دارای پکیج PostgreSQL است ولی تضمینی برای بروز بودن نسخه آن وجود ندارد.

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

مرحله 1)  Repository اصلی PostgreSQL را به سیستم اضافه کنید.

– ابتدا باید پکیج های نرم افزاری پیش نیاز را نصب کنید چون این پکیج ها برای دانلود و نصب گواهی های نرم افزاری با اتصال SSL استفاده می شوند.

sudo apt install wget ca-certificates

– بعد با اجرای دستور زیر، گواهی را دریافت کنید و آن را به ابزار مدیریت apt-key اضافه کنید. با این دستور، یک فایل پیکربندی جدید ایجاد می شود که حاوی آدرس repository رسمی PostgreSQL است.

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add –

– در ادامه، با دستور زیر این repository را به سیستم اضافه کنید:

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

مرحله 2) لیست پکیج های سیستم را آپدیت کنید.

بعد اینکه repository رسمی PostgreSQL را به سیستم اضافه کردید، باید مطمئن شوید که لیست پکیج سیستم آپدیت شده است.

– با اجرای دستور زیر از به روز بودن نسخه PostgreSQL مطمئن شوید:

sudo apt-get update

مرحله 3) نصب PostgreSQL در اوبونتو

– برای نصب پکیج PostgreSQL و PostgreSQL contrib (شامل ویژگی های اضافی)، از دستور زیر استفاده کنید:

sudo apt-get install postgresql postgresql-contrib

– بعد از اتمام پروسه نصب، با اجرای دستور زیر از نصب موفقیت آمیز این ابزار مطمئن شوید:

sudo dpkg --status postgresql

با بررسی بخش Version می توانید از نسخه ای که روی سرور اوبونتو خود نصب کرده اید، مطلع شوید.

ورژن PostgreSQL

روش 2: نصب PostgreSQL در اوبونتو با استفاده از Repository اوبونتو

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

اگر ترجیح می دهید برای نصب PostgreSQL از این Repository استفاده کنید، فراموش نکنید که به احتمال زیاد به آخرین نسخه از این ابزار دسترسی نخواهید داشت.

قبل از هر کاری بهتر است لیست پکیج محلی سرور خود را رفرش و آپدیت کنید:

sudo apt update –y

مرحله 1) نسخه PostgreSQL را بررسی کنید.

با استفاده از دستور زیر از ورژن PostgreSQL موجود در Repository اوبونتو مطلع شوید.

apt show postgresql

این دستور، همه اطلاعات ضروری مربوط به پکیج مخصوصاً نسخه PostgreSQL را در اختیار شما قرار می دهد:

نمایش جزئیات نصب PostgreSQL

مرحله 2) پکیج PostgreSQL را نصب کنید.

اگر از نسخه PostgreSQL راضی هستید، پس برای نصب آن از دستور زیر استفاده کنید:

sudo apt install postgresql postgresql-contrib

مرحله 3) وضعیت PostgreSQL را بررسی کنید.

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

service postgresql status

پیام سبزرنگ active نشان دهنده این است که سرویس PostgreSQL در حال اجرا است.

اکتیو بودن postgresql

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

در این بخش چند مورد از دستورات پرکاربردی که موقع کار کردن با این DBMS لازم می شود را بررسی می کنیم:

موقع نصب PostgreSQL به صورت پیش فرض یک کاربر خاص ایجاد می شود که در انجام هر کاری آزاد است. برای استفاده از این ابزار اول باید با استفاده از دستور زیر وارد این حساب کاربری شوید:

sudo su postgres

برای استفاده از PostgreSQL Shell هم باید از psql استفاده کنید.

بعد از این که psql را اجرا کردید، خط جدید ب =#postgress (postgress: کاربر پیش فرض) شروع می شود که تایپ دستوراتی مثل l، \q\ یا du\ می تواند اطلاعات لازم را در اختیار شما قرار دهد.

مثلاً l\ جدول های موجود و du\ هم کاربران PostgreSQL را به عنوان خروجی نشان می دهد.

* توجه داشته باشید که کوئری هایی که قرار است بعد =#postgress وارد شوند، حتماً باید با ; تمام شوند تا به درستی اجرا شوند.

تغییر رمز یک کاربر

ALTER USER postgres WITH PASSWORD 'my_password';

نام کاربر موردنظر را در بخش postgres وارد کنید و رمز موردنظر را هم در بخش my_password قرار دهید.

ایجاد یک کاربر جدید

CREATE USER my_user WITH PASSWORD 'my_password';

ایجاد یک کاربر جدید به عنوان Superuser

ALTER USER my_user WITH SUPERUSER;

حذف کاربر

DROP USER my_user;

ورود به PostgreSQL به عنوان یک کاربر دیگر

psql -U my_user

اتصال مستقیم به پایگاه داده موردنظر

psql -U my_user -d my_db

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

CREATE DATABASE db­­_name;

اتصال به پایگاه داده

\c ata_db;

ایجاد جدول جدید

CREATE TABLE table_name (

    column_name1 col_type (field_length) column_constraints,

    column_name2 col_type (field_length),

    column_name3 col_type (field_length)

);

با مشاهده دستورات متوجه می شوید که دستورات این dbms شباهت زیادی به MySQL دارد و مطمئن باشید که برای اجرای کوئری و دستور موردنظر خود با محدودیتی روبرو نیستید و اگر در زمینه نحوه استفاده هم مشکل داشتید، میتوانید از داکیومنتشن جامع آن کمک بگیرید.

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

شاید دستکاری و تست این ابزار به صورت محلی سرگرم کننده باشد، اما دیر یا زود باید قابلیت دسترسی به DBMS به صورت ریموت را فعال کنید.

با نصب PostgreSQL در اوبونتو در اوایل استفاده، فقط از طریق آدرس IP خود سیستم می توانید به آن دسترسی پیدا کنید. اما نگران نباشید چون با انجام چند تغییر کوچک در فایل پیکربندی PostgreSQL می توانید امکان دسترسی ریموت را فراهم کنید.

– اگر در حال اجرای دستورات PostgreSQL هستید، با وارد کردن دستور exit از psql session خارج شوید.

– با استفاده از ویرایشگر vim، فایل postgresql.conf را باز کنید:

vim /etc/postgresql/14/main/postgresql.conf

بخش listen_addresses را از حالت کامنت دربیاورید. * مقداری است که باید برای این متغیر در نظر بگیرید.

listen_addresses = ‘*’

– بعد، فایل دسترسی PostgreSQL را ویرایش کنید:

vim /etc/postgresql/14/main/pg_hba.conf

متناسب با الگوی زیر، یک خط متنی جدید ایجاد کنید و آن را به انتهای فایل اضافه کنید.

[CONNECTION_TYPE][DATABASE][USER] [ADDRESS][METHOD]

host all all 0.0.0.0/0 md5

اگر این خط را اضافه کنید، به تمام “all” کاربران اجازه می دهید که به تمام “all” پایگاه داده های PostgreSQL دسترسی پیدا کنند. این اتصال به صورت TCP/IP (host) و از طریق تمام IP ادرس ها قابل انجام است که برای احراز هویت تمام اتصالات هم از MD5 استفاده می شود.

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

یک نمونه واقعی و منطقی:

host ASAM all 198.0.113.2/32 md5

– در آخر، سرور PostgreSQL را ری استارت کنید تا تغییرات موردنظر اعمال شوند.

systemctl restart postgresql

بعد از این که امکان دسترسی ریموت را فعال کردید، سیستم های موردنظر برای دسترسی به PostgreSQL می توانند از روش های زیر استفاده کنند:

ترمینال یا خط فرمان: استفاده از دستور psql می توان به صورت ریموت به این سرور دسترسی پیدا کرد. البته، سیستم ریموت هم برای استفاده از این دستور حتماً باید از قبل این پایگاه داده را نصب کرده باشد.

الگوی زیر برای دسترسی ریموت به PostgreSQL استفاده می شود:

psql -h [ip address] -p [port] -d [database] -U [username]

بعد از دسترسی موفق به این سرور، بدون هیچ محدودیتی می توانید دستورات و کوئری های موردنظر را اجرا کنید.

اتصال با کد اپلیکیشن: برای این که با استفاده از کد اپلیکیشن به  PostgreSQL دسترسی پیدا کنید، اول باید از طریق سورس کد به درایور پایگاه داده وصل شوید.

اگر از پایتون استفاده می کنید، psycopg2 یک درایور استاندارد PostgreSQL است که اول باید آن را نصب کنید:

pip install psycopg2-binary

بعد می توانید psycopg2 را در کد خود ایمپورت کنید و بعد از امکانات و داده های PostgreSQL استفاده کنید.

import psycopg2 conn = psycopg2.connect(host="*********", port="****", dbname="test-db", user="user", password="*****")

اتصال با GUI Client: با این که رابط های گرافیکی زیادی برای PostgreSQL وجود دارد ولی pgAdmin محبوب ترین گزینه است و با نصب آن، یک داشبورد استاندارد برای مدیریت پایگاه داده خواهید داشت:

pgAdmin برای اتصال به postgresql

برای اتصال ریموت از طریق pgAdmin، روی دکمه  Add New Server کلیک کنید و بعد اطلاعات مربوط به سرور ریموت را اضافه کنید.

بعد از ذخیره سازی این مقادیر، سیستم شما به طور خودکار به سرور پایگاه داده ریموت وصل خواهد شد.

نکته!

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

در صورت تمایل، می توانید به صفحه خرید سرور مجازی شرکت آسام سرور مراجعه کنید و ویژگی های فوق العاده هر کدام از پلن ها را بررسی کنید. مطمئن باشید که با انتخاب پلن مناسب خود هم در هزینه ها صرفه جویی خواهید کرد و هم این که پشتیبانی و امنیت 100 درصد را به معنای واقعی تجربه خواهید کرد.

سوالات متداول

یک superuser برای دسترسی به امکانات و سطح های اطلاعاتی مختلف  PostgreSQL هیچ نوع محدودیتی ندارد به همین خاطر بهتر است کمی احتیاط کنید. فقط در صورتی که خیلی ضرورت دارد، نسبت به ایجاد یک superuser جدید اقدام کنید.

کلام آخر

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

از اینکه تا انتهای مقاله با ما همراه بودید، از شما متشکریم. امیدواریم که مطالعه این مقاله برای شما مفید واقع شده باشد. در صورت داشتن هرگونه سوال، درخواست و نیاز به راهنمایی، می توانید با ثبت نظر خود، با ما وارد ارتباط شوید تا هر چه زودتر به شما پاسخ دهیم.

دیدگاهتان را بنویسید

آدرس ایمیل خود را را با خیال راحت وارد کنید، چون نمایش داده نخواهد شد