خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


آموزش نصب پایگاه داده PostgreSQL در CentOS 8

آموزش نصب پایگاه داده PostgreSQL در CentOS 8
PostgreSQL یک پایگاه داده رابطه‌ای object-oriented یا شی گرا و منبع باز است که با نام Postgres هم شناخته می‌شود. این سیستم مدیریت پایگاه داده اولین سیستمی است که برای محیط مبتنی بر UNIX طراحی شده است. اما طراحی آن با گذشت زمان تغییر کرد و به همین دلیل PostgreSQL می‌تواند بر روی سایر سیستم‌های عامل و همچنین Solaris، Mac OS X و ویندوز هم اجرا شود. PostgreSQL یک نرم افزار رایگان است و کد منبع آن تحت مجوز PostgreSQL به صورت رایگان در دسترس است. شما می توانید PostgreSQL را در هر قالبی مطابق با نیاز خود تغییر دهید و از آن استفاده کنید.

نرم افزار سامانه مودیان راهکار
در این مقاله نحوه نصب و راه اندازی PostgreSQL در سیستم Centos 8 با استفاده از Terminal را خواهید آموخت. برای شروع کار terminal را باز کنید. پیشنهاد می کنیم که قبل از نصب هر پکیج نرم افزاری جدید، پکیج های سیستم خود را آپدیت کنید. برای این منظور دستور زیر را تایپ کنید تا پکیج های فعلی سیستم تان آپدیت شود:



sudo dnf update

حال با کمک دستور زیر ماژول های در دسترس PostgreSQL را لیست کنید:

dnf module list postgresql

آموزش نصب پایگاه داده PostgreSQL در CentOS 8
هدف ما انتخاب بالاترین و جدیدترین نسخه و نصب آن است. به خروجی دستور پس باید توجه داشته باشید. هر خروجی دو پروفایل server و Client را دارد. همانطور که در تصویر زیر مشاهده می کنید، در حال حاضر بروزترین نسخه، ورژن 13 می باشد. برای نصب این ورژن کافیست از دستور زیر استفاده کنید:

نصب PostgreSQL ورژن 9.6 در CentOS 8
sudo dnf install @postgresql:9.6

نصب PostgreSQL ورژن 10 در CentOS 8
sudo dnf install @postgresql:10

نصب PostgreSQL ورژن 12 در CentOS 8
sudo dnf install @postgresql:12

نصب PostgreSQL ورژن 13 در CentOS 8
sudo dnf install @postgresql:13

نسخه مورد نظر ما نسخه 13 می باشد از این رو دستور آخر را در Terminal سیستم عامل اوبونتو اجرا می کنیم. درخواست ها را y کرده و Enter کنید تا دانلود و نصب آغاز شود.
همچنین شاید قصد داشته باشید پکیج contrib را هم نصب کنید که چندین ویژگی اضافی را برای سیستم پایگاه داده PostgreSQL فراهم می کند.

sudo dnf install postgresql-contrib

پس از اتمام نصب، پایگاه داده PostgreSQL را با دستور زیر initialize کنید:

sudo postgresql-setup initdb

خروجی شما هم باید مانند خروجی زیر باشد:

Initializing database ... OK

حالا با کمک دستور زیر سرویس PostgreSQL را Start و همچنین Enable کنید تا در زمان بوت Centos بصورت خودکار اجرا شود.

sudo systemctl enable --now postgresql

از ابزار psql برای تأیید نصب و اتصال به پایگاه داده PostgreSQL سرور و نمایش ورژن آن استفاده کنید:

sudo -u postgres psql -c "SELECT version();"

خروجی شما چیزی مانند زیر خواهد بود:

PostgreSQL 13.3 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 8.3.1 2019112
1 (Red Hat 8.3.1-5), 64-bit

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

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

احراز هویت PostgreSQL client در فایل پیکربندی به نام pg_hba.conf تعریف شده است. بطور پیش فرض، برای اتصالات لوکال PostgreSQL طوری تنظیم شده که از روش peer authentication استفاده کند.
هنگام نصب سرور PostgreSQL، کاربر postgres به طور خودکار ایجاد می شود. این کاربر در واقع یک superuser یا ابر یوزر برای این instance از PostgreSQL است. در حقیقت معادل کاربر root در MySQL است.
برای لاگین به سرور PostgreSQL به عنوان کاربر postgres ابتدا به کاربر سوئیچ کنید و سپس با استفاده از ابزار psql به دستور PostgreSQL دسترسی پیدا کنید:

sudo su - postgres
psql

در اینجا می توانید با شل PostgreSQL ارتباط و تعامل داشته باشید و در صورت نیاز به خروج از shell کافیست دستور \q را تایپ و Enter کنید تا به خط فرمان Cent os برگردید.

\q

فقط super user و role ‌های دارای امتیاز CREATEROLE می‌توانند role ‌های جدید ایجاد کنند. در مثال زیر، یک role جدید به نام john، یک پایگاه داده به نام johndb ایجاد می کنیم و به کاربر پایگاه داده امتیازها را می دهیم.
در گام نخست باید به شل PostgreSQL متصل شویم:

sudo -u postgres psql

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

CREATE ROLE john;

سپس دیتابیس جدید را ایجاد می کنیم:

CREATE DATABASE johndb;

و در آخر طبق سناریو، به کاربر پایگاه داده امتیازات را می دهیم:

GRANT ALL PRIVILEGES ON DATABASE johndb TO john;

بصورت پیشفرض PostgreSQL server فقط در حال listening اینترفیس لوکال 127.0.0.1 است. برای فعال کردن دسترسی ریموت به PostgreSQL server فایل پیکربندی را باز کنید:

sudo nano /var/lib/pgsql/data/postgresql.conf

ویرایشگر را به پایین اسکرول کرده تا به بخش CONNECTIONS AND AUTHENTICATION برسید و در اینجا قسمت listen_addresses که بصورت پیشفرض برابر با localhost است را به * تعییر دهید:

آموزش نصب پایگاه داده PostgreSQL در CentOS 8
سپس به فشردن Ctrl+S تغییرات را ذخیره کرده و در ادامه با فشردن Ctrl+X از ویرایشگر خارج شده و به خط فرمان برگردید.
فایل را ذخیره کرده و سرویس PostgreSQL را ریستارت کنید:

sudo systemctl restart postgresql

سپس تغییرات را با اجرای دستور زیر بررسی کنید:

ss -nlt | grep 5432

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

خروجی بالا نشان می دهد که PostgreSQL سرور در حال گوش دادن به پورت پیش فرض در همه اینترفیس ها (0.0.0.0) است.

نمایش دیدگاه ها (1 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز