ذكري المظهر

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

PostgreSQL Tutorial: How to download and install PostgreSQL on Windows 10 [EN]

PostgreSQL Tutorial: How to download and install PostgreSQL on Windows 10 [EN]

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

Anonim

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

في هذا البرنامج التعليمي ، سوف نعرض لك طريقتين مختلفتين حول كيفية تثبيت PostgreSQL على جهاز CentOS 7 الخاص بك. ستنقلك الطريقة الأولى إلى الخطوات اللازمة لتثبيت PostgreSQL v9.2.23 من مستودعات CentOS بينما تشرح لك الطريقة الثانية كيفية تثبيت أحدث إصدار من PostgreSQL من مستودعات PostgreSQL الرسمية.

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

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

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

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

تثبيت PostgreSQL من مستودعات CentOS

في وقت كتابة هذا المقال ، كان أحدث إصدار من PostgreSQL المتوفر من مستودعات CentOS هو الإصدار PostgreSQL 9.2.23.

لتثبيت PostgreSQL على خادم CentOS ، اتبع الخطوات التالية:

  1. تثبيت بوستجرس

    لتثبيت خادم PostgreSQL جنبًا إلى جنب مع حزمة مساهمة PostgreSQL التي توفر العديد من الميزات الإضافية لقاعدة بيانات PostgreSQL ، ببساطة اكتب:

    sudo yum install postgresql-server postgresql-contrib

    تهيئة قاعدة البيانات

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

    sudo postgresql-setup initdb

    Initializing database… OK

    بدء تشغيل بوستجرس

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

    sudo systemctl start postgresql sudo systemctl enable postgresql

    التحقق من تثبيت PostgreSQL

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

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

    PostgreSQL 9.2.23 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit (1 row)

Psql هي أداة مساعدة لسطر الأوامر التفاعلي تسمح لنا بالتفاعل مع خادم PostgreSQL.

تثبيت PostgreSQL من مستودعات PostgreSQL

في وقت كتابة هذا المقال ، كان أحدث إصدار من PostgreSQL المتوفر من مستودعات PostgreSQL الرسمية هو PostgreSQL version 10.4. قبل المتابعة مع الخطوة التالية ، يجب عليك زيارة صفحة PostgreSQL Yum Repository والتحقق مما إذا كان هناك إصدار جديد متاح.

اتبع الخطوات أدناه لتثبيت أحدث إصدار من PostgreSQL على خادم CentOS:

  1. تمكين مستودع PostgreSQL

    لتمكين مستودع PostgreSQL ، قم ببساطة بتثبيت ملف المستودع rpm :

    sudo yum install

    تثبيت بوستجرس

    بمجرد تمكين المستودع ، قم بتثبيت خادم PostgreSQL وحزم PostgreSQL مع:

    sudo yum install postgresql10-server postgresql10-contrib

    تهيئة قاعدة البيانات

    لتهيئة نوع قاعدة بيانات PostgreSQL:

    sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

    Initializing database… OK

    بدء تشغيل بوستجرس

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

    sudo systemctl start postgresql-10 sudo systemctl enable postgresql-10

    التحقق من تثبيت PostgreSQL

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

    sudo -u postgres /usr/pgsql-10/bin/psql -c "SELECT version();"

    PostgreSQL 10.4 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit (1 row)

أدوار 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 ، تحتاج أولاً إلى التبديل إلى postgres للمستخدم ومن ثم الوصول إلى موجه PostgreSQL باستخدام الأداة المساعدة psql :

sudo su - postgres psql

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

\q

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

sudo -u postgres psql

عادةً ما يتم استخدام مستخدم postgres فقط من المضيف المحلي ومن المستحسن عدم تعيين كلمة المرور لهذا المستخدم.

إذا قمت بتثبيت الإصدار 10 من PostgreSQL من مستودعات PostgreSQL الرسمية ، فستحتاج إلى استخدام المسار الكامل psql وهو /usr/pgsql-10/bin/psql .

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

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

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

  1. الاتصال شل PostgreSQL

    sudo -u postgres psql

    إنشاء دور PostgreSQL جديد

    سيخلق الأمر التالي دورًا جديدًا باسم john:

    create role john;

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

    قم بإنشاء قاعدة بيانات جديدة باسم johndb باستخدام الأمر createb:

    create database johndb;

    منح الامتيازات

    لمنح أذونات للمستخدم john في قاعدة البيانات التي أنشأناها في الخطوة السابقة ، قم بتشغيل الاستعلام التالي:

    grant all privileges on database johndb to john;

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

بشكل افتراضي ، يستمع خادم PostgreSQL فقط على الواجهة المحلية 127.0.0.1 . لتمكين الوصول عن بعد إلى خادم PostgreSQL ، افتح ملف التكوين postgresql.conf وأضف listen_addresses = '*' في قسم CONNECTIONS AND AUTHENTICATION .

sudo vim /var/lib/pgsql/data/postgresql.conf إذا كنت تقوم بتشغيل الإصدار 10 من PostgreSQL ، فإن المسار إلى الملف هو /var/lib/pgsql/10/data/postgresql.conf ./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 إذا كنت تقوم بتشغيل الإصدار 10 من PostgreSQL ، فأعد تشغيل خدمة PostgreSQL باستخدام systemctl restart postgresql-10 .

تحقق من التغييرات باستخدام الأداة المساعدة 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 will be able to access all databases from all locations using a md5 password host all jane 0.0.0.0/0 md5 # The user jane will be able to access only the janedb from all locations using a md5 password host janedb jane 0.0.0.0/0 md5 # The user jane will be able to access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust إذا كنت تقوم بتشغيل الإصدار 10 من PostgreSQL ، فإن المسار الكامل للملف هو /var/lib/pgsql/10/data/pg_hba.conf .

استنتاج

لقد تعلمت كيفية تثبيت PostgreSQL وتكوينه على خادم CentOS 7 الخاص بك.

يمكنك الرجوع إلى وثائق PostgreSQL للحصول على مزيد من المعلومات حول هذا الموضوع.

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