به سمت PostgreSQL (شل PostgreSQL)

نمی‌دونم چرا کتاب‌هایی با عناوینی مثل php و mysql به کرات در دنیا چاپ شده‌اند. البته خود جوابش معلومه، ولی جای بسی تأسف داره که اینقدر دنیای وب رو کوچک فرض کرد که یک mysql و shared hosting…. در یک بازه زمانی NoSQL ها(Not Only SQL ها) فراگیر postgresqlشدند و کلی اتفاقات عجیب و غریب دیگه افتاد. یک Database Programmer براش نباید اهمیت داشته باشه که backend قضیه چیه، البته، در مورد چند چیز تا حدی فرق می‌کنه مثل Data Type ها، نوشتن Transaction ، Trigger و دستورات sql ی خود backend پشتیبانی می‌کنه. اگر مقادیر فرضی رو کنار بگذاریم واقعاً backend هیچ فرقی نمی‌کنه و کاربرد در مقیاسه که خیلی مهمه.
یکی از Database server هایی که دنیا رو تکون داد و زمانی که مایکروسافت Skype رو نخریده بود،Skype با ۹ میلیون کاربر online از PostgreSQL استفاده می‌کرد.

در این مقاله نه قصد benchmark دارم نه قصد پشتیبانی از نرم‌افزار خاصی، بلکه می‌خوام کمکی کرده باشم به اونهایی که می‌خوان بیان سمت PostgreSQL ، و شل اون رو براشون توضیح بدم.
البته یه config اولیه هم داره که کلاً همه چی رو کاربر از ابتدا باید بسازه مثل MySQL نیست.

۱. config اولیه

در ابتدا با کاربر root دستور زیر را وارد نمایید:

postgresql کاربری دارد که همه کارها با آن انجام می‌شود.
نکته: یادتان نرود از – استفاده نمایید.
نکته: در هر سیستم می‌تواند چند PostgresSQL از طریق repo نصب شود به ۲ مسیر زیر دقت نمایید :

تا همین چند وقت پیش configuration فایل‌هایی که در /etc/ مشاهده می‌کنید در /var/lib/postgresql/ بودند. اما مقصور از این ۲ دایرکتوری ورژنی است که به صورت دایرکتوری درآمده است. اگر آن 9.4 نسخه دیگری باشد شما می‌توانید نسخه دیگری هم داشته باشید. در‌واقع شما آن را یک متغیر بگیرید.

۱.۱ فایل pg_hba.conf:

همه چیز با این فایل شروع می‌شود. نام کاربران،‌ database ‌ها و خیلی از مسایل امنیتی در این فایل نوشته می‌شود.
نکته: بنا به سیستم‌های قدیمی ممکن است در /var/lib/postgresql/ باشد و اگر نه در /etc/postgresql/ می‌باشد. باز این موضوع تا حدی به سلیقه شخصیpackage maintenance توزیع شما برمی‌گردد.
این فایل به ۵ ستون اصلی تقسیم می‌گردد:

  • ستون اول: نوع connection کاربر به Database شما می‌باشد.

  • ستون دوم: نام Database شما می‌باشد.

  • ستون سوم: نام کاربری می‌باشد که برای Database تعریف کردید.

  • ستون چهارم: آدرسی که کاربر از آن می‌تواند به این database متصل گردد.

  • ستون پنچم: که آن را method نامیده‌اند در‌واقع نوع Authentication است.

با دو دستور زیر database و کاربر ایجاد می‌نماییم:

سپس آن‌ها را وارد pg_hba.conf می‌کنیم:

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

سپس با همان کاربر postgres وارد شل psql می‌شویم:

اینجا نقطه آغاز همه چیز است.

۲. شل PostgreSQL

حال که همه چیز آماده شد باید بدانیم اینجا MySQL نیست و دستوراتی همچون use وجود خارجی ندارند. اما مجموعه دستوراتی وجود دارند که با backslash شروع میشوند. به عنوا مثال \ را همرا ه با ۲ بار کلید TAB فشرده و خروجی را مشاهده نمایید:

اولین گزینه l\ می‌باشد که بانک‌ها را لیست می‌کند:

حال می‌توانید به یک بانک وصل شوید:

نکته: برای اینکه کل دستورات این شل را ببینید می‌توانید از h\ استفاده نمایید. که مخالف فشردن \ همراه ۲ بار TAB می‌باشد. این دو خروجی‌های متفاوتی دارند. اولی دستوراتی همچون CREATE TABLE و دومی تمام shell command ها همانند dd\ یا c\ زا نمایش می‌دهد.
بیایید یک table بسازیم:

کلمه srial به معنای همان auto increment می‌باشد. و بقیه قضایا:

هدف از این مطلب به آشنایی اولیه برای کارکردن با postgresql بود که امیدوارم به درد خورده باشه.

4 دیدگاه در “به سمت PostgreSQL (شل PostgreSQL)”

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *