تنصيب قواعد بيانات PostgreSQL والاتصال بها عبر LibreOffice Base

أثناء قيامي بتثبيت MySQL DBMS على أوبونتو، واجهتُ عدة رسائل خطأ أثناء محاولة الدخول إليها وليست المرة اﻷولى، ففي كل مرّة أقوم بتنصيبها –باﻵونة اﻷخيرة– لا بدّ أن أقوم بالقيام بمجموعة من اﻷمور لحل المشكلة؛ لعلّ هذا دفعني إلى البحث عن DBMS لديه مشاكل أقل، وبالفعل وجدت PostgreSQL DBMS ولم أواجه معها أيّة مشكلة وهي تعمل بسلاسة تامّة.

في هذا الدرس سوف أقوم بشرح كامل لعملية ضبط وتنصيب PostgreSQL على توزيعة أوبونتو وما بُني عليها، كذلك سوف أقوم بشرح كيفية استعمال LibreOffice Base كواجهة (interface) للاتصال بقواعد بياناتك التي أنشأتها عبر PostgreSQL ولتنفيذ عمليات الحذف واﻹضافة والتحديث رسوميًا (DML & DDL operations).

 

تنصيب PostgreSQL DBMS

 

1. بدايةً افتح الطرفية Ctrl+Alt+T والصق اﻷمرين اﻵتيين:

sudo apt-get update

sudo apt-get install postgresql postgresql-contrib

2. بمجرّد إتمام عملية التثبيت، سيتم إنشاء مستخدم جديد اسمه postgres يمكنك استخدامه للدخول لنظام قواعد البيانات، اﻷمر التالي يقوم بالتحول إلى المستخدم postgres:

sudo -i -u postgres

3. اﻵن يمكنك الدخول إلى نظام قواعد البيانات لتنفيذ استعلامات SQL عبر اﻷمر اﻵتي:

psql

*حيث psql اختصار لـ PostgreSQL

*في حال أردت الخروج من psql والرجوع للمستخدم postgre اكتب اﻷمر التالي، حيث q تشير إلى quite:

\q

هل يمكنني الوصول إلى psql بدون استعمال اسم المستخدم postgre؟

 

نعم بإمكانك ذلك، دعنا نقم بإسناد دورٍ (role) ﻷحد المستخدمين:

1. اكتب اﻷمر التالي ﻹنشاء مستخدم جديد:

sudo -u postgres createuser –interactive

2. سوف يطلب منك كتابة الاسم المطلوب، ثم سيسأل هل تريد أن يكون المستخدم superuser؟ أجبه بـ y.

 

إنشاء قاعدة بيانات (DB) جديدة

 

1. إن كنت مسجلًا عبر الاسم postgre فاكتب اﻷمر:

createdb hossam

2. إذا كنت مسجلًا عبر اسم آخر، فاستعمل اﻷمر:

sudo -u postgres createdb hossam

إذا كنت مسجلًا عبر اسمٍ غير postgre، كيف يمكنني الدخول إلى psql؟

 

في هذه الحالة سوف نحتاج إلى إنشاء اسم مستخدم (Linux user) متطابق مع اسم الدور (role) واسم قاعدة البيانات اللذيّن صنعناهما سابقًا.

1. اكتب اﻷمر التالي:

sudo adduser hossam

2. بمجرد القيام بما سبق، يمكنك اﻵن التحول إلى psql والاتصال بقاعدة البيانات:

sudo -i -u hossam

psql

*إذا كنتَ تودّ أن تجعل المستخدم يقوم بالاتصال بقاعدة بيانات أخرى غير المسمّاة hossam، فاستعمل اﻷمر التالي:

psql -d postgres

*للحصول على معلومات الاتصال الحالية اكتب اﻷمر:

\conninfo

سيظهر لك شيء كهذا:

You are connected to database “hossam” as user “hossam” via socket in “/var/run/postgresql” at port “5432”.

*لعرض قواعد البيانات الموجودة:

\list

إنشاء الجداول (Tables) وجمل الاستعلام

 

لا تفرق أوامر PostgreSQL كثيرًا عمّا في أنظمة DBMS الشائعة، وهذا لا يمنع وجود بعض الاختلافات التي سنذكرها.

1. ﻹنشاء جدول جديد:

CREATE TABLE student (
id serial PRIMARY KEY,
name varchar (50) NOT NULL,
gender varchar (25) NOT NULL,
location varchar(25) check (location in (‘north’, ‘south’, ‘west’, ‘east’, ‘northeast’, ‘southeast’, ‘southwest’, ‘northwest’)),
);

2. لعرض الجداول الموجود داخل قاعدة البيانات استعمل اﻷمر:

\d

3. أو استعمل \dt لعرض الجداول دونًا عن الـ sequences مثلا واﻷشياء اﻷخرى المتعلقة.

4. ﻹضافة سجّلٍ جديد على الجدول:

INSERT INTO student (name, gender, location) VALUES (‘hossam’, ‘male’, ‘south’);

5. لعرض بيانات الجدول:

SELECT * FROM student;

6. لحذف سجل من الجدول:

DELETE FROM student WHERE name = ‘hossam’;

7. لتحديث سجل ما:

UPDATE student SET location = ‘north’ WHERE name = ‘hossam’;

إضافة وحذف اﻷعمدة (Cols) 

 

1. ﻹضافة عمود جديد:

ALTER TABLE student ADD age date;

2. لحذف عمود:

ALTER TABLE student DROP age;

3. إذا كنتَ تريد تزويد المستخدم بكلمة مرور password أو التعديل عليها فاكتب اﻷمر:

ALTER USER hossam WITH PASSWORD ‘new_password’;

أو:

ALTER USER hossam WITH ENCRYPTED PASSWORD ‘password’;

ربط LibreOffice Base مع PostgreSQL 

 

1. بدايةً اكتب اﻷمر التالي ﻹضافة الخيار PostgreSQL ضمن ليبر أوفيس:

sudo apt-get install libreoffice-sdbc-postgresql

2. افتح LibreOffice Base ثم اختر PostgreSQL ثم Next:

3. في الـ Connection settings سوف نكتب التالي للاتصال بقاعدة البيانات خاصتنا:

postgresql://localhost:5432/hossam

*حيث:

postgresql: هو الـ DBMS.
localhost: هو السيرفر الذي تتواجد عليه قاعدة البيانات وعادةًً هو السيرفر المحلي.
5432: هو رقم المنفذ (port) الذي سيتم الاتصال به وهو محجوز خصيصا لـ PostgreSQL.
hossam: وهو اسم قاعدة البيانات المراد الاتصال بها.

4. هنا تكتب اسم المستخدم لقاعدة البيانات وفي حالتنا هو hossam، (إذا كان اسم المستخدم لقاعدة البيانات لديه كلمة مرور فاضغط على Password Required) :

5. بالخطوة اﻷخيرة اترك كل شيء كما هو افتراضيًا ثم Finish.

*عندما تريد رؤية الجداول المتوفرة، اذهب إلى Tables ثم public وسوف تجد جميع الجداول المتواجدة داخل قاعدة البيانات خاصتك ويمكنك إجراء عمليات الحذف واﻹضافة وما إلى ذلك…

[postgresql, digitalocean]

  1. Pingback: Laravel By Categories Ads – Hossam Brgoth

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

مشاركة