در این راهنما نشان خواهیم دید که چگونه بهسرعت پستگرس را روی یک سرور اوبونتو ۲۰.۰۴ اجرا کنیم. در این مطلب از نصب پستگرساسکیوال گرفته تا ایجاد یک کاربر و پایگاهداده جدید را مرور خواهیم کرد.
«پستگرساسکیوال» (PostgreSQL) یا «پستگرس» (Postgres)، یک سیستم مدیریت پایگاهداده رابطهای است که پیادهسازیای از زبان کوئری «اسکیوال» (SQL) محسوب میشود.
پستگرس منطبق با استانداردهاست و دارای ویژگیهای پیشرفتهای مثل تراکنشهای معتبر و «همروندی» (اجرای چند عمل هم زمان | Concurrency) بدون «قفل خواندن» (Read Lock) است.
پیشنیازهای نصب پستگرس در اوبونتو ۲۰.۰۴
برای پیروی از این آموزش، نیاز به راهاندازی، نصب و انجام تنظیمات اولیه یک سرور اوبونتو ۲۰.۰۴ وجود دارد که برای این منظور میتوانید از این راهنما [+] استفاده کنید. پس از انجام این موارد پیشنیاز، سرور شما باید یک کاربر غیر root با مجوزهای sudo و یک فایروال پایهای داشته باشد.
گام اول: نصب پستگرس PostgreSQL روی سرور لینوکس اوبونتو ۲۰.۰۴
برای نصب پستگرساسکیوال، ابتدا فهرست بستههای محلی سرور خود را بهروزرسانی کنید:
sudo apt update
سپس، بسته پستگرس را همراه با بسته -contrib
که برخی ابزارها و قابلیتهای اضافی را اضافه میکند، نصب کنید:
sudo apt install postgresql postgresql-contrib
اطمینان حاصل کنید که سرویس استارت خورده است:
sudo systemctl start postgresql.service
گام دوم: استفاده از Roleها و دیتابیسهای پستگرس
پستگرس (PostgreSQL) بهطور پیشفرض از مفهومی به نام «Roleها» (نقشها) برای مدیریت احراز هویت و کنترل دسترسی استفاده میکند. Roleها تا حدودی شبیه به همان مفهوم کاربران و گروهها در سیستمعاملهای یونیکس هستند.
در هنگام نصب، پستگرس به گونهای پیکربندی میشود که از احراز هویت «ident» استفاده کند. به این معنا که Roleهای پستگرس را با حسابهای کاربری سیستم عامل یونیکس/لینوکس مطابقت میدهد. اگر Roleی در پستگرس وجود داشته باشد، یک نام کاربری یونیکس/لینوکس با همان نام میتواند با آن Role وارد (Sign In) شود.
هنگام نصب، یک حساب کاربری به نام پستگرس ایجاد شد که با نقش پیشفرض پستگرس مرتبط است. چند روش برای استفاده از این حساب برای دسترسی به پستگرس وجود دارد. یکی از روشها این است که با اجرای دستور زیر، به حساب پستگرس در سرور خود منتقل شوید:
sudo -i -u postgres
سپس میتوانید با اجرای دستور زیر به پرامپت پستگرس دسترسی پیدا کنید:
psql
این کار شما را به پرامپت پستگرس وارد میکند و از این پس میتوانید بلافاصله با سیستم مدیریت پایگاه داده تعامل داشته باشید. برای خروج از پرامپت پستگرس، دستور \q
را اجرا کنید. این کار شما را به پرامپت لینوکس حساب پستگرس باز میگرداند. برای بازگشت به حساب کاربری معمول خود، دستور exit
را اجرا کنید.
روش دیگر برای اتصال به پرامپت پستگرس، اجرای مستقیم دستور psql با حساب پستگرس از طریق سودو است:
sudo -u postgres psql
این کار شما را بدون مرحله میانی شل bash، مستقیماً به پستگرس وارد میکند. دوباره، با اجرای دستور \q
میتوانید از جلسه تعاملی پستگرس خارج شوید.
گام سوم: ایجاد Role جدید
اگر با حساب پستگرس وارد شدهاید، میتوانید با اجرای دستور زیر یک نقش جدید ایجاد کنید:
createuser --interactive
اگر ترجیح میدهید بدون تغییر حساب، از sudo
برای هر دستور استفاده کنید، دستور زیر را اجرا کنید:
sudo -u postgres createuser --interactive
در هر صورت، اسکریپت برخی گزینهها را از شما میپرسد و بر اساس پاسخهایتان، دستورات پستگرس مناسب را برای ایجاد یک کاربر با مشخصات دلخواهتان اجرا میکند. خروجی:
Enter name of role to add: sammy
Shall the new role be a superuser? (y/n) y
گام چهارم: ساخت دیتابیس جدید
یکی دیگر از پیش فرض های سیستم احراز هویت پستگرس این است که برای هر Roleی که برای ورود استفاده میشود، آن Role به پایگاهدادهای با همان نام که می تواند به آن دسترسی داشته باشد، متصل خواهد شد. این بدان معنی است که اگر کاربری که در بخش قبل ایجاد کردید sammy نام دارد، بهطور پیش فرض آن Role سعی خواهد کرد به پایگاه دادهای به نام «sammy» نیز متصل شود. شما میتوانید پایگاه داده مناسب را با دستور createdb
ایجاد کنید.
اگر با حساب پستگرس وارد شدهاید، میتوانید دستوری مانند این را تایپ کنید:
createdb sammy
اگر ترجیح میدهید بدون تغییر حساب، از sudo
برای هر دستور استفاده کنید، باید دستور زیر را اجرا کنید:
sudo -u postgres createdb sammy
گام پنجم: باز کردن پرامپت پستگرس با Role جدید
برای ورود با احراز هویت مبتنی بر ident، به یک کاربر لینوکس با همان نام Role و پایگاهداده پستگرس خود نیاز خواهید داشت. اگر کاربر لینوکس مطابقی در دسترس ندارید، میتوان با دستور adduser
آن را ایجاد کرد. باید این کار را از حساب غیر root با امتیازات سودو (یعنی بدون ورود به حساب پستگرس) انجام دهید:
sudo adduser sammy
پس از اینکه این حساب کاربری جدید در دسترس قرار گرفت، میتوانید با انجام موارد زیر به آن سوئیچ کنید و به پایگاهداده متصل شوید:
sudo -i -u sammy
psql
یا میتوان این کار را در یک خط اینگونه انجام داد:
sudo -u sammy psql
این دستور با فرض اینکه تمام اجزا به درستی پیکربندی شده باشند، شما را به صورت خودکار لاگین میکند. اگر میخواهید کاربر شما به پایگاه داده دیگری متصل شود، میتوانید آن را به صورت زیر مشخص کنید:
psql -d postgres
پس از لاگین شدن، میتوانید با اجرای دستور \conninfo
اطلاعات اتصال فعلی خود را بررسی کنید. خروجی:
You are connected to database "sammy" as user "sammy" via socket in "/var/run/postgresql" at port "5432".
جمعبندی
در این مطلب، نحوه نصب و راهاندازی سریع PostgreSQL بر روی سرور اوبونتو ۲۰.۰۴، از جمله ایجاد کاربر و پایگاهداده جدید آموزش داده شد. پستگرس یک سیستم مدیریت پایگاهداده رابطهای است که پیادهسازی از زبان پرسوجوی SQL را ارائه میدهد. این سیستم دارای ویژگیهای پیشرفتهای مانند تراکنشهای قابل اعتماد و همگامسازی بدون نیاز به قفل خواندن است. برای استفاده از پستگرس، ابتدا باید آن را بر روی سرور لینوکس نصب و سپس با ایجاد «نقشها» (Role) و پایگاهداده میتوان به آن دسترسی پیدا کرد.