ذكري المظهر

كيفية تثبيت postgresql على ديبيان 9

How to Install and configuration PostgreSQL on Ubuntu Linux

How to Install and configuration PostgreSQL on Ubuntu Linux

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

Anonim

يعد PostgreSQL ، المعروف غالبًا باسم Postgres ، نظامًا لإدارة قواعد البيانات العلائقية للأغراض العامة مفتوح المصدر. يحتوي PostgreSQL على العديد من الميزات المتقدمة مثل النسخ الاحتياطية عبر الإنترنت ، والاسترداد المؤقت للوقت ، والمعاملات المتداخلة ، واستعلام SQL و JSON ، والتحكم في التزامن متعدد الإصدارات (MVCC) ، والنسخ المتماثل غير المتزامن ، والمزيد.

في هذا البرنامج التعليمي ، سوف نوضح لك كيفية تثبيت PostgreSQL على دبيان 9 واستكشاف أساسيات إدارة قاعدة البيانات الأساسية.

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

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

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

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

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

  1. ابدأ بتحديث فهرس الحزمة المحلية:

    sudo apt update

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

    sudo apt install postgresql postgresql-contrib

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

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

    سيبدو الإخراج كالتالي:

    version ----------------------------------------------------------------------------------------------------------- PostgreSQL 9.6.10 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit (1 row)

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

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

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

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

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

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

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

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

sudo su - postgres psql

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

\q

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

sudo -u postgres psql

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

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

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

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

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

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

    sudo su - postgres -c "createuser john"

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

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

    sudo su - postgres -c "createdb johndb"

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

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

    sudo -u postgres psql

    وتشغيل الاستعلام التالي:

    grant all privileges on database johndb to john;

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

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

sudo vim /etc/postgresql/9.6/main/postgresql.conf /etc/postgresql/9.6/main/postgresql.conf

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

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

sudo service postgresql restart

تحقق من التغييرات باستخدام الأداة المساعدة 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 .

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

/etc/postgresql/9.6/main/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

استنتاج

لقد تعلمت كيفية تثبيت PostgreSQL وتكوينه على خادم Debian 9 الخاص بك. لمزيد من المعلومات حول هذا الموضوع ، راجع وثائق بوستجرس.

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