ubuntu

نصب و استفاده از PostgreSQL در اوبونتو 20.0

سیستم های مدیریت پایگاه داده رابطه ای ، عنصر اصلی بسیاری از وب سایت ها و برنامه ها هستند. آنها روشی ساختاری برای ذخیره ، سازماندهی و دسترسی به اطلاعات را ارائه می دهند.
PostgreSQL یا Postgres یک سیستم مدیریت پایگاه داده رابطه ای است که اجرای زبان جستجوی SQL را فراهم می کند. سازگار با استانداردها میباشد و دارای بسیاری از ویژگی های پیشرفته مانند تراکنش های قابل اعتماد و همزمانی بدون قفل خواندن است.
این راهنما نحوه نصب Postgres را در یک سرور مجازی Ubuntu 20.04 نشان می دهد. همچنین برخی از دستورالعمل ها برای مدیریت عمومی پایگاه داده را ارائه می نماید.
پیش نیازها
برای دنبال کردن این آموزش ، به یک سرور مجازی Ubuntu 20.04 نیاز دارید که با پیروی از راهنمای ستاپ اولیه سرور مجازی برای Ubuntu 20.04 ،پیکربندی شده باشد. بعد از مطالعه این آموزش پیش نیاز ، سرور شما باید کاربر غیر ریشه ای با امتیازات sudo و یک فایروال پایه داشته باشد.
مرحله 1 – نصب PostgreSQL
مخازن پیش فرض اوبونتو شامل بسته های Postgres است ، بنابراین می توانید با استفاده از سیستم بسته بندی apt آنها را نصب کنید.
اگر اخیراً این کار را نکرده اید ، فهرست بسته محلی سرور مجازی خود را ریفرش کنید:
$ sudo apt update

سپس ، بسته Postgres را به همراه یک بسته -contrib نصب کنید که برخی از امکانات و کاربردهای دیگر را اضافه می کند:
$ sudo apt install postgresql postgresql-contrib

اکنون که نرم افزار نصب شده است ، می توانیم به نحوه عملکرد آن و چگونگی تفاوت آن با سایر سیستم های مدیریت پایگاه داده رابطه ای که ممکن است از آنها استفاده کرده باشید ، بپردازیم.
مرحله 2 – استفاده از نقشها (roles) و بانکهای اطلاعاتی PostgreSQL
به طور پیش فرض ، Postgres از مفهومی به نام “role” برای مدیریت احراز هویت و اعتباربخشی استفاده می کند. این رول ها به نوعی شبیه به اکانت های معمولی سبک یونیکس هستند ، اما Postgres بین کاربران و گروه ها فرق نمی گذارد و در عوض اصطلاح انعطاف پذیرتر “role” را ترجیح می دهد.
پس از نصب ، Postgres برای استفاده از احراز هویت تنظیم میشود ، به این معنی که نقش های Postgres را با یک حساب کاربری سیستم Unix / Linux مرتبط می کند. اگر نقشی در Postgres وجود داشته باشد ، یک نام کاربری یونیکس / لینوکس با همین نام قادر به ورود به عنوان آن نقش است.
فرآیند نصب یک حساب کاربری به نام postgres ایجاد کرده است که با نقش پیش فرض Postgres همراه است. برای استفاده از Postgres می توانید وارد آن حساب شوید.
چند روش برای استفاده از این حساب برای دسترسی به Postgres وجود دارد.
انتقال به حساب Postgres
با تایپ دستور زیر به حساب Postgres در سرور مجازی خود سوییچ کنید:
$ sudo -i -u postgres

اکنون می توانید با تایپ دستور زیر به اعلان PostgreSQL دسترسی پیدا کنید:
$ psql

از آنجا می توانید در صورت لزوم با سیستم مدیریت بانک اطلاعاتی ارتباط برقرار کنید.
با تایپ دستور زیر از اعلان PostgreSQL خارج شوید:
Postgres=# \q

این دستور شما را به خط فرمان postgres Linux بازمیگرداند.
دسترسی به یک اعلان Postgres بدون تعویض حساب
همچنین می توانید دستور مورد نظر خود را با حساب postgres مستقیماً با sudo اجرا کنید.
به عنوان نمونه ، در مثال آخر ، به شما گفته شد که ابتدا با سوییچ کردن به کاربر postgres و سپس اجرای psql به اعلان Postgres برسید. شما می توانید این کار را در یک مرحله با اجرای یک دستور psql منفرد به عنوان کاربر postgres با sudo انجام دهید ، به این شکل:
$ sudo -u postgres psql

با این کار شما مستقیماً در Postgres وارد می شوید بدون اینکه پوسته واسطه ای bash در بین آنها باشد.
دوباره می توانید با تایپ کردن این دستور از بخش Postgres تعاملی خارج شوید:
Postgres=# \q

بسیاری از موارد به بیش از یک نقش Postgres نیاز دارند. در ادامه یاد میگیرید که چگونه این موارد را پیکربندی کنید.
مرحله 3 – ایجاد نقش (رول) جدید
در حال حاضر ، شما فقط نقش Postgres را در پایگاه داده پیکربندی کرده اید. می توانید با استفاده از دستور Createrole نقش های جدیدی را از خط فرمان ایجاد کنید. پرچم –interactive نام نقش جدید را از شما میپرسد و همچنین سؤال میکند که آیا مجوزهای superuser دارد یا خیر.
اگر به عنوان حساب postgres وارد شوید ، می توانید با تایپ کردن دستور زیر کاربر جدیدی ایجاد کنید:
postgres@server:~$ createuser –interactive

در عوض ، اگر ترجیح می دهید بدون تغییر حساب کاربری خود از sudo برای هر دستور استفاده کنید ، تایپ کنید:
$ sudo -u postgres createuser –interactive

این اسکریپت انتخاب های مختلفی را به شما نشان میدهد و بر اساس پاسخ های شما ، دستورات صحیح Postgres را اجرا می کند تا کاربر را با مشخصات دلخواه شما ایجاد کند.
Output
Enter name of role to add: sammy
Shall the new role be a superuser? (y/n) y

با عبور از برخی از پرچم های اضافی می توانید کنترل بیشتری به دست آورید. گزینه ها را با مراجعه به صفحه man بررسی کنید:
$ man createuser

نصب شما در Postgres اکنون کاربر جدیدی دارد ، اما شما هنوز هیچ پایگاه داده ای اضافه نکرده اید. در بخش بعدی این روند توضیح داده شده است.
مرحله 4 – ایجاد یک پایگاه داده جدید
فرض دیگری که سیستم تأیید اعتبار Postgres بصورت پیش فرض انجام می دهد این است که برای هر نقشی که برای ورود به سیستم استفاده می شود ، آن نقش یک بانک اطلاعاتی با همان نام دارد که می تواند به آن دسترسی داشته باشد.
این بدان معنی است که اگر کاربری که در آخرین بخش ایجاد کرده اید ، sammy نامیده شود ، آن نقش سعی خواهد کرد به بانک اطلاعاتی وصل شود که به طور پیش فرض “sammy” نامیده می شود. می توانید با دستور ایجاد شده ، بانک اطلاعاتی مناسب ایجاد کنید.
اگر به عنوان حساب postgres وارد شوید ، چیزی مانند این تایپ میکنید:
postgres@server:~$ createdb sammy

از سوی دیگر ، اگر ترجیح می دهید بدون تغییر حساب عادی خود ، از sudo برای هر فرمان استفاده کنید ، تایپ کنید:
$ sudo -u postgres createdb sammy

این انعطاف پذیری در صورت نیاز چندین مسیر ایجاد می کند.
مرحله 5 – باز کردن اعلان Postgres با نقش جدید
برای ورود با تأیید هویت مبتنی بر ident ، به استفاده از کاربر لینوکس با همان نام نقش و پایگاه داده Postgres خود نیاز خواهید داشت.
اگر یک کاربر لینوکس با این ویژگی ها در دسترس ندارید ، می توانید یک کاربر با دستور adduser ایجاد کنید. شما باید این کار را از حساب غیر ریشه خود با امتیازات sudo انجام دهید (به این معنی که به عنوان کاربر postgres وارد نشوید):
$ sudo adduser sammy

پس از در دسترس بودن این حساب جدید ، می توانید با تایپ کردن این دستور به پایگاه داده وصل شوید:
$ sudo -i -u sammy

$ psql
یا می توانید این کار را بصورت درون خطی انجام دهید:
$ sudo -u sammy psql

با فرض اینکه همه مولفه ها به درستی پیکربندی شده اند ، این دستور شما را به طور خودکار وارد سیستم می کند.
اگر می خواهید کاربر شما به یک پایگاه داده دیگر متصل شود ، می توانید با مشخص کردن دیتابیس این کار را انجام دهید:
$ psql -d postgres

پس از ورود به سیستم ، می توانید اطلاعات مربوط به اتصال فعلی خود را با تایپ کردن بررسی کنید:
Sammy=# \conninfo

Output
You are connected to database “sammy” as user “sammy” via socket in “/var/run/postgresql” at port

این امر در صورت اتصال به پایگاه داده های غیر پیش فرض یا با کاربران غیر پیش فرض مفید خواهد بود.
مرحله 6 – ایجاد و حذف جداول
اکنون که می دانید چگونه به سیستم پایگاه داده PostgreSQL وصل شوید ، می توانید برخی از وظایف اساسی مدیریت Postgres را یاد بگیرید.
ترکیب اصلی برای ایجاد جداول به شرح زیر است:
CREATE TABLE table_name (
column_name1 col_type (field_length) column_constraints,
column_name2 col_type (field_length),
column_name3 col_type (field_length)
);

همانطور که مشاهده می کنید ، این دستورات جدول را نامگذاری میکنند و سپس ستون ها و همچنین نوع ستون و حداکثر طول داده های فیلد را مشخص می کنند. همچنین می توانید محدودیت های جدول را برای هر ستون به صورت اختیاری اضافه کنید.
در اینجا می توانید درباره نحوه ایجاد و مدیریت جداول در Postgres اطلاعات بیشتری کسب کنید.
برای اهداف نمایشی ، جدول زیر را ایجاد کنید:
Sammy=# CREATE TABLE playground (

Sammy=# equip_id serial PRIMARY KEY,

Sammy=# type varchar (50) NOT NULL,

Sammy=# color varchar (25) NOT NULL,

Sammy=# location varchar(25) check (location in (‘north’, ‘south’, ‘west’, ‘east’, ‘northeast’, ‘southeast’, ‘southwest’, ‘northwest’)),

Sammy=# install_date date

Sammy=#);

این دستور یک جدول ایجاد می کند که تجهیزات زمین بازی را ذخیره می کند. اولین ستون در جدول شماره شناسه تجهیزات از نوع سریال را نگه می دارد که یک عدد صحیح است و به صورت خودکار افزایش می یابد. این ستون همچنین دارای محدودیت PRIMARY KEY میباشد ، بدین معنی که مقادیر موجود در آن باید منحصر به فرد باشند و null (صفر) نباشند.
دو خط بعدی به ترتیب ستون هایی برای نوع و رنگ تجهیزات ایجاد می کنند که هیچ یک از آنها نمی تواند خالی باشد. خط بعد از اینها یک ستون موقعیت مکانی و همچنین محدودیتی ایجاد می کند که باید یکی از هشت مقدار ممکن باشد. خط آخر یک ستون تاریخ ایجاد می کند که تاریخ نصب تجهیزات را ثبت می نماید.
برای دو ستون (equip_id و install_date) ، دستورموجود طول فیلد را مشخص نمی کند. دلیل این امر این است که برخی از انواع داده ها به طول مشخص نیاز ندارند زیرا طول یا قالب آن بیان میشود.
می توانید جدول جدید خود را با تایپ کردن این دستور مشاهده کنید:
Sammy=# \d

Output
List of relations
Schema | Name | Type | Owner
——–+————————-+———-+——-
public | playground | table | sammy
public | playground_equip_id_seq | sequence | sammy
(2 rows)

جدول زمین بازی شما اینجاست ، اما چیزی به نام playground_equip_id_seq نیز وجود دارد که از نوع توالی است. در واقع نمایشی از نوع سریال است که شما به ستون equip_id خود داده اید. این ستون شماره بعدی در توالی را دنبال می کند و به طور خودکار برای ستون های این نوع ایجاد می شود.
اگر می خواهید فقط جدول بدون ترتیب را ببینید ، می توانید تایپ کنید:
Sammy=# \dt

Output
List of relations
Schema | Name | Type | Owner
——–+————+——-+——-
public | playground | table | sammy
(1 row)

اکنون جدول آماده است ، بیایید از آن برای تمرین مدیریت داده استفاده کنیم.
مرحله 7 – افزودن ، پرس و جو و حذف داده ها در یک جدول
اکنون که جدولی دارید ، می توانید برخی از داده ها را در آن وارد کنید. به عنوان نمونه ، با فراخوانی جدول مورد نظر برای اضافه کردن ، نامگذاری ستونها و سپس تهیه داده برای هر ستون ، slide و swing اضافه کنید ، مانند این:
Sammy=# INSERT INTO playground (type, color, location, install_date) VALUES (‘slide’, ‘blue’, ‘south’, ‘2017-04-28’);

Sammy=# INSERT INTO playground (type, color, location, install_date) VALUES (‘swing’, ‘yellow’, ‘northwest’, ‘2018-08-16’);

باید هنگام وارد کردن داده ها مراقب باشید تا از مشکلات و قطعی های معمول جلوگیری کنید. اولا نام ستون ها را در علامت نقل قول قرار ندهید ، فقط مقادیر ستونی که وارد می کنید به نقل قول نیاز دارند.
نکته دیگری که باید در نظر داشته باشید این است که برای ستون equip_id مقداری وارد نمی کنید. دلیل این امر این است که هر زمان که یک ردیف جدید به جدول اضافه کنید ، به طور خودکار ایجاد می شود.
با تایپ کردن این دستور اطلاعاتی که اضافه کرده اید بازیابی کنید:
Sammy=# SELECT * FROM playground;

Output
equip_id | type | color | location | install_date
———-+——-+——–+———–+————–
1 | slide | blue | south | 2017-04-28
2 | swing | yellow | northwest | 2018-08-16
(2 rows)

در اینجا ، می بینید که equip_id شما با موفقیت پر شده است و تمام داده های دیگر شما به درستی سازماندهی شده اند.
اگر اسلاید روی زمین بازی خراب شد و مجبور شدید آن را حذف کنید ، می توانید با تایپ دستور زیر آن سطر از جدول خود حذف کنید:
Sammy=# DELETE FROM playground WHERE type = ‘slide’;

جدول را دوباره پرس و جو کنید:
Sammy=# SELECT * FROM playground;

Output
equip_id | type | color | location | install_date
———-+——-+——–+———–+————–
2 | swing | yellow | northwest | 2018-08-16
(1 row)

توجه کنید که ردیف اسلاید دیگر جزئی از جدول نیست.
مرحله 8 – اضافه کردن و حذف ستون ها از یک جدول
پس از ایجاد جدول می توانید با اضافه کردن یا حذف ستون ها آن را تغییر دهید. با تایپ دستور زیر، برای نمایش آخرین بازدید از نگهداری از هر قطعه تجهیزات ، یک ستون اضافه کنید:
Sammy=# ALTER TABLE playground ADD last_maint date;
اگر اطلاعات جدول خود را دوباره مشاهده کنید ، می بینید که ستون جدید اضافه شده است اما هیچ داده ای وارد نشده است:
Sammy=# SELECT * FROM playground;

Output
equip_id | type | color | location | install_date | last_maint
———-+——-+——–+———–+————–+————
2 | swing | yellow | northwest | 2018-08-16 |
(1 row)

اگر متوجه شدید که خدمه کاری شما از یک ابزار جداگانه برای پیگیری سابقه نگهداری استفاده می کنند ، می توانید ستون را با تایپ دستور زیر حذف کنید:
Sammy=# ALTER TABLE playground DROP last_maint;

این دستور ستون last_maint و مقادیر موجود در آن را حذف می کند ، اما تمام داده های دیگر را دست نخورده نگه میدارد.
مرحله 9 – بروزرسانی داده ها در یک جدول
تاکنون یاد گرفته اید که چگونه می توانید سوابق را به یک جدول اضافه کنید و چگونه آنها را حذف کنید ، اما این آموزش هنوز نحوه تغییر ورودی های موجود را پوشش نداده است.
می توانید مقادیر ورودی موجود را با جستجوی رکورد مورد نظر خود به روز کنید و ستون را روی مقدار مورد نظر خود تنظیم کنید. می توانید رکورد swing را درخواست کنید (با هر swing در جدول شما مطابقت دارد) و رنگ آن را به رنگ قرمز تغییر دهید. وقتی swing را برای رنگ کاری تنظیم کنید، این امر می تواند مفید باشد :
Sammy=# UPDATE playground SET color = ‘red’ WHERE type = ‘swing’;

با پرس و جوی دوباره داده ها ، می توانید تأیید کنید که این عملیات با موفقیت انجام شد:
Sammy=# SELECT * FROM playground;

Output
equip_id | type | color | location | install_date
———-+——-+——-+———–+————–
2 | swing | red | northwest | 2018-08-16
(1 row)

همانطور که مشاهده می کنید ، اکنون اسلاید به عنوان قرمز ثبت شده است.
نتیجه
اکنون PostgreSQL را روی سرور مجازی Ubuntu 20.04 خود تنظیم کرده اید. اگر می خواهید در مورد Postgres و
نحوه استفاده از آن اطلاعات بیشتری کسب کنید، توصیه می کنیم راهنماهای زیر را بررسی کنید:
• مقایسه سیستم های مدیریت پایگاه داده رابطه ای
• کار با پرس و جوهای در حال اجرا با SQL

 

از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :

نصب و پیکربندی Ansible در اوبونتو 18.04 – نصب MySQL در اوبونتو 18.04

نظارت بر سلامت سرور با Checkmk در اوبونتو – اجرای چند نسخه PHP بر روی یک سرور

نصب Nginx، MySQL، PHP در CentOS 7 –  نصب و پیکربندی Elasticsearch در اوبونتو 18.04

راه اندازی سرور اولیه با اوبونتو 20.04 – تنظیم کلیدهای SSH در Ubuntu 20.04

نصب و استفاده از PostgreSQL در اوبونتو 20.0 – نحوه نصب MySQL در اوبونتو 20.04

نصب Python 3 روی سرور Ubuntu 18.04 –  نحوه نصب Python 3 روی سرور Ubuntu 20.04

نصب Linux،Apache،MySQL،PHP LAMP در اوبونتو 20.04 –  نصب وب سرور Apache در CentOS 8

نحوه نصب Drupal با Docker Compose –  نحوه نصب Nginx در اوبونتو 20.04

7 مورد از اقدامات امنیتی برای محافظت از سرورهای شما –  نحوه نصب و ایمن سازی Redis در اوبونتو 20.04

نحوه نصب و ایمن سازی Redis در اوبونتو 18.04اضافه کردن فضای Swap در اوبونتو 20.04

چگونه می توان فایروال را با UFW در اوبونتو 20.04 تنظیم کردنظارت بر اطلاعیه و مسیر BGP با BGPalerter اوبونتو 18.04

نصب و ایمن سازی phpMyAdmin در اوبونتو 20.04  –  نصب و استفاده از Composer در اوبونتو 20.04

ریست کردن رمز ورود ریشه MySQL یا MariaDB –  استفاده از نوع داده MySQL BLOB برای ذخیره تصاویر

نصب Nginx در اوبونتو 18.04نصب توزیع Anaconda پایتون در اوبونتو 20.04

نحوه نصب جاوا با Apt در اوبونتو 18.04 –  نحوه نصب Django و تنظیم محیط توسعه در اوبونتو 16.04

نصب جنگو و تنظیم محیط توسعه در اوبونتو 20.04 – نحوه ایجاد سرور Minecraft در اوبونتو 18.04

نحوه راه اندازی یک پروژه Node با Typescript –  نحوه نصب و پیکربندی VNC در اوبونتو 18.04

ایجاد یک برنامه Django و اتصال آن به یک بانک اطلاعاتینصب و پیکربندی VNC در اوبونتو 20.04

نصب MariaDB در اوبونتو 20.04  –  فعال سازی و اتصال رابط کاربری Django

تنظیم پلتفرم Cloud IDE کد سرور را در اوبونتو 18.04پیکربندی Apache HTTP با رویداد MPM و PHP-FPM

 

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکاخرید سرور مجازی ارزان هلندvpsخرید vps هلندخرید سرور مجازی آمریکاخرید vps فرانسهتست vpsسرور مجازی تستسرور مجازی ویندوزارزانترین vpsخرید وی پی اسvps ارزان – 


https://vpsgol.net/product/vps-germany/

https://vpsgol.net/product/vps-usa/

https://vpsgol.net/product/vps-france/

https://vpsgol.net/product/vps-canada/

https://vpsgol.net/product/vps-poland/

https://vpsgol.net/product/vps-netherlands/

https://vpsgol.net/product/vps-england/