ذكري المظهر

كيفية تثبيت postgresql على centos 8

طريقة تثبيت و إنشاء قاعدة البيانات POSTGRESQL

طريقة تثبيت و إنشاء قاعدة البيانات POSTGRESQL

جدول المحتويات:

Anonim

PostgreSQL أو Postgres هو نظام لإدارة قواعد البيانات ذات الصلة للأغراض العامة مفتوح المصدر مع العديد من الميزات المتقدمة التي تتيح لك بناء بيئات متسامحة مع الأخطاء أو تطبيقات معقدة.

في هذا الدليل ، سنناقش كيفية تثبيت خادم قاعدة بيانات PostgreSQL على CentOS 8. قبل اختيار الإصدار الذي تريد تثبيته ، تأكد من أن التطبيقات الخاصة بك تدعمه.

سنستكشف أيضًا أساسيات إدارة قاعدة بيانات PostgreSQL.

المتطلبات الأساسية

لتتمكن من تثبيت الحزم ، يجب تسجيل الدخول كجذر أو مستخدم لديه امتيازات sudo.

تثبيت PostgreSQL على CentOS 8

في وقت كتابة هذا المقال ، يوجد إصداران من خادم PostgreSQL متاح للتثبيت من مستودعات CentOS القياسية: الإصدار 9.6 و 10.0.

لسرد تدفقات وحدة PostgreSQL المتاحة ، اكتب:

dnf module list postgresql

يُظهر الإخراج أن وحدة postgresql متاحة مع دفقين. كل تيار لديه اثنين من التشكيلات: الخادم والعميل. الدفق 10 مع خادم ملف التعريف هو الافتراضي:

CentOS-8 - AppStream Name Stream Profiles Summary postgresql 10 client, server PostgreSQL server and client module postgresql 9.6 client, server PostgreSQL server and client module

  1. لتثبيت الدفق الافتراضي ، اكتب إصدار خادم PostgreSQL 10.0:

    sudo dnf install @postgresql:10

    لتثبيت إصدار خادم PostgreSQL 9.6 ، اكتب:

    sudo dnf install @postgresql:9.6

قد ترغب أيضًا في تثبيت حزمة الاشتراك التي توفر العديد من الميزات الإضافية لقاعدة بيانات PostgreSQL:

sudo dnf install postgresql-contrib

بمجرد اكتمال التثبيت ، قم بتهيئة قاعدة بيانات PostgreSQL باستخدام الأمر التالي:

sudo postgresql-setup initdb

Initializing database… OK

بدء تشغيل خدمة PostgreSQL وتمكينها من بدء التشغيل:

sudo systemctl enable --now postgresql

استخدم أداة psql للتحقق من التثبيت من خلال الاتصال بخادم قاعدة بيانات PostgreSQL وطباعة إصداره:

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

PostgreSQL 10.6 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3), 64-bit

أدوار PostgreSQL وطرق المصادقة

يعالج PostgreSQL أذونات الوصول إلى قاعدة البيانات باستخدام مفهوم الأدوار. يمكن أن يمثل الدور مستخدم قاعدة بيانات أو مجموعة من مستخدمي قاعدة البيانات.

PostgreSQL يدعم أساليب المصادقة متعددة. الطرق الأكثر استخدامًا هي:

  • الثقة - يمكن الاتصال بالدور بدون كلمة مرور ، طالما تم استيفاء الشروط المحددة في pg_hba.conf.Password - يمكن الاتصال بالدور من خلال توفير كلمة مرور. يمكن تخزين كلمات المرور كـ scram-sha-256 و md5 password (نص واضح).Ident - معتمد فقط على اتصالات TCP / IP. إنه يعمل عن طريق الحصول على اسم مستخدم نظام التشغيل الخاص بالعميل ، مع تعيين اسم مستخدم اختياري. نظير - مماثل لـ Ident ، لكنه معتمد على الاتصالات المحلية فقط.

يتم تعريف مصادقة عميل PostgreSQL في ملف التكوين المسمى pg_hba.conf . بشكل افتراضي ، بالنسبة للاتصالات المحلية ، يتم تعيين PostgreSQL لاستخدام طريقة مصادقة النظراء.

يتم إنشاء مستخدم postgres تلقائيًا عند تثبيت خادم PostgreSQL. هذا المستخدم هو المستخدم الخارق لمثيل PostgreSQL. وهو مكافئ للمستخدم الجذر MySQL.

لتسجيل الدخول إلى خادم PostgreSQL كمستخدم postgres ، قم أولاً بالتبديل إلى المستخدم ثم الوصول إلى موجه PostgreSQL باستخدام الأداة المساعدة psql :

sudo su - postgres psql

من هنا ، يمكنك التفاعل مع مثيل PostgreSQL. للخروج من غلاف PostgreSQL ، اكتب:

\q

يمكنك أيضًا الوصول إلى موجه PostgreSQL دون تبديل المستخدمين باستخدام الأمر sudo :

sudo -u postgres psql

عادةً ما يتم استخدام مستخدم postgres فقط من المضيف المحلي.

إنشاء دور بوستجرس وقاعدة البيانات

فقط CREATEROLE والأدوار الذين CREATEROLE امتياز CREATEROLE يمكنهم إنشاء أدوار جديدة.

في المثال التالي ، سنقوم بإنشاء دور جديد يسمى john ، وقاعدة بيانات باسم johndb ، ومنح امتيازات في قاعدة البيانات.

  1. أولاً ، قم بالاتصال بقشرة PostgreSQL:

    sudo -u postgres psql

    قم بإنشاء دور PostgreSQL جديد باستخدام الأمر التالي:

    create role john;

    إنشاء قاعدة بيانات جديدة:

    create database johndb;

    منح الامتيازات للمستخدم في قاعدة البيانات عن طريق تشغيل الاستعلام التالي:

    grant all privileges on database johndb to john;

تمكين الوصول عن بعد إلى خادم PostgreSQL

بشكل افتراضي ، يستمع خادم PostgreSQL فقط على الواجهة المحلية 127.0.0.1 .

لتمكين الوصول عن بعد إلى خادم PostgreSQL ، افتح ملف التكوين:

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

قم بالتمرير لأسفل إلى قسم الاتصال CONNECTIONS AND AUTHENTICATION وإضافة / تحرير السطر التالي:

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

#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;

احفظ الملف وأعد تشغيل خدمة PostgreSQL باستخدام:

sudo systemctl restart postgresql

تحقق من التغييرات باستخدام الأداة المساعدة ss :

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).

الخطوة الأخيرة هي تكوين الخادم لقبول الاتصالات عن بُعد عن طريق تحرير ملف pg_hba.conf .

فيما يلي بعض الأمثلة التي توضح حالات الاستخدام المختلفة:

/var/lib/pgsql/data/pg_hba.conf

# TYPE DATABASE USER ADDRESS METHOD # The user jane can access all databases from all locations using an md5 password host all jane 0.0.0.0/0 md5 # The user jane can access only the janedb database from all locations using an md5 password host janedb jane 0.0.0.0/0 md5 # The user jane can access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust

استنتاج

يوفر CentOS 8 نسختين من PostgreSQL: 9.6 و 10.0.

لمزيد من المعلومات حول هذا الموضوع ، تفضل بزيارة وثائق PostgreSQL

Centos قاعدة بيانات postgresql