אנדרואיד

כיצד להתקין Postgresql על Centos 8

How to Install PostgreSQL 12 on CentOS 8 RHEL 8

How to Install PostgreSQL 12 on CentOS 8 RHEL 8

תוכן עניינים:

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

יתכן שתרצה להתקין את חבילת ה- contrib המספקת מספר תכונות נוספות למסד הנתונים של 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 מתקיימים. סיסמה - תפקיד יכול להתחבר על ידי מתן סיסמא. ניתן לאחסן את הסיסמאות כ- scram-sha-256 , md5 password (טקסט ברור).Ident - נתמך רק בחיבורי TCP / IP. זה עובד על ידי השגת שם המשתמש של מערכת ההפעלה של הלקוח, עם מיפוי של שם משתמש אופציונלי. Pe - זהה לזהות, אך הוא נתמך בחיבורים מקומיים בלבד.

אימות לקוח PostgreSQL מוגדר בקובץ התצורה בשם pg_hba.conf . כברירת מחדל, עבור חיבורים מקומיים, PostgreSQL מוגדר להשתמש בשיטת אימות העמיתים.

משתמש postgres נוצר באופן אוטומטי בעת התקנת שרת PostgreSQL. משתמש זה הוא משתמש העל עבור מופע PostgreSQL. זה שווה למשתמש השורש MySQL.

כדי להיכנס לשרת postgres כמשתמש postgres , תחילה לעבור למשתמש ואז לגשת לפקודה PostgreSQL באמצעות כלי השירות psql :

sudo su - postgres psql

מכאן תוכלו ליצור אינטראקציה עם מופע PostgreSQL. כדי לצאת מהקונכייה של PostgreSQL, הקלד:

\q

אתה יכול גם לגשת לפקודה PostgreSQL מבלי להחליף משתמשים עם הפקודה sudo :

sudo -u postgres psql

בדרך כלל משתמשים ב- postgres משמשים רק מה- localhost.

יצירת תפקיד ומסד נתונים של PostgreSQL

רק 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

מאגר הנתונים של סנטוס