אנדרואיד

כיצד להתקין Postgresql ב- Debian 9

Установка Postgresql в Debian 9 (Stretch)

Установка Postgresql в Debian 9 (Stretch)

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

Anonim

PostgreSQL, המכונה לעתים קרובות פשוט Postgres, היא מערכת ניהול בסיס נתונים עם מטרה כללית עם קוד פתוח. ל- PostgreSQL תכונות מתקדמות רבות כמו גיבויים מקוונים, התאוששות נקודת זמן, עסקאות מקוננות, שאילתות SQL ו- JSON, בקרת סיכוי רב-גרסאות (MVCC), שכפול אסינכרוני ועוד.

במדריך זה נראה לך כיצד להתקין את PostgreSQL ב- Debian 9 ולחקור את היסודות של ניהול בסיסי בסיסי.

תנאים מוקדמים

לפני שתמשיך במדריך זה, וודא שלמשתמש שאתה מחובר בו יש הרשאות סודו.

התקנת PostgreSQL

בעת כתיבת מאמר זה, הגרסה האחרונה של PostgreSQL הזמינה ממאגרי Debian היא PostgreSQL גרסה 9.6.

להתקנת PostgreSQL בשרת Debian שלך, בצע את הצעדים הבאים:

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

אימות לקוח 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 משמש בדרך כלל רק מהמארח המקומי ומומלץ לא להגדיר את הסיסמה למשתמש זה.

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

ניתן ליצור תפקידים חדשים משורת הפקודה באמצעות הפקודה createuser . רק CREATEROLE ותפקידים בעלי הרשאות CREATEROLE יכולים ליצור תפקידים חדשים.

בדוגמה הבאה ניצור תפקיד חדש בשם john מסד נתונים בשם johndb וניתן הרשאות במאגר.

  1. צור תפקיד חדש של PostgreSQL

    הפקודה הבאה תיצור תפקיד חדש בשם ג'ון:

    sudo su - postgres -c "createuser john"

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

    צור בסיס נתונים חדש בשם 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 שלך, פתח את קובץ התצורה listen_addresses = '*' והוסף listen_addresses = '*' בסעיף listen_addresses = '*' .

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.

מסד הנתונים של debian postgresql