צור מסד נתונים ב-PostgreSQL באמצעות הפקודה createb

Zwr Msd Ntwnym B Postgresql B Mz Wt Hpqwdh Createb



במדריך זה נלמד על יצירת מסד נתונים ב-PostgreSQL באמצעות הפקודה createb.

דרישות קדם:

כדי לבצע את השלבים המודגמים במדריך זה, אתה זקוק לרכיבים הבאים:

  • מערכת לינוקס מוגדרת כהלכה. לבדיקה, שקול הגדרת מכונת אובונטו וירטואלית באמצעות VirtualBox .
  • מותקן ומוגדר PostgreSQL. למידע נוסף על התקנת PostgreSQL על אובונטו .
  • גישה לא משתמש שאינו שורש עם הרשאות sudo .

מסדי נתונים של PostgreSQL

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







ב-PostgreSQL, היררכיית הנתונים היא כדלקמן:



  • אֶשׁכּוֹל
  • מאגר מידע
  • סכֵימָה
  • טבלה (או אובייקטים אחרים; לדוגמה, פונקציה)

כל מופע PostgreSQL יכול לקבל חיבורי לקוח מרובים. הלקוח חייב לציין את שם מסד הנתונים בבקשת החיבור. מותר רק מסד נתונים אחד לכל חיבור. עם זאת, לקוח יכול לפתוח מספר חיבורים לשרת, להתחבר למסד נתונים אחד או יותר בו זמנית.



יצירת מסד נתונים ב-PostgreSQL

1. פתיחת חיבור לשרת

כדי ליצור מסד נתונים חדש, התחבר תחילה לשרת PostgreSQL:





$ סודו -אני postgres
$ psql

שים לב שיצירת מסד נתונים היא פעולה מוגבלת. רק משתמשים בעלי הרשאות מספקות רשאים לבצע את הפעולה.



2. פירוט מסדי הנתונים הנוכחיים
הפעל את השאילתה הבאה ב-psql כדי להדפיס את רשימת מסדי הנתונים בשרת:

$ \רשימה

במהלך ההתקנה, PostgreSQL יוצר את מסד הנתונים הראשון של השרת שהוא 'postgres'. נוצרים גם שני מסדי נתונים נוספים:

  • תבנית 1 : בכל פעם שיוצרים מסד נתונים חדש בתוך האשכול, 'template1' משובט.
  • תבנית0 : הוא משמש כעותק בתולי של התוכן המקורי של 'תבנית1'.

אל תיצור אובייקטים בתוך 'template1' אלא אם כן אתה רוצה שהם יהיו חלק מכל מסד נתונים חדש שנוצר. אם 'template1' משתנה, ניתן לשכפל את 'template0' כדי ליצור מסד נתונים חדש ללא כל תוספות מקומיות באתר.

3. יצירת מסד נתונים חדש
כדי ליצור מסד נתונים חדש, הפעל את השאילתה הבאה ב-psql:

$ צור מסד נתונים < db_name > ;

כאן:

  • התפקיד הנוכחי מקבל אוטומטית כבעלים של מסד הנתונים החדש.
  • לבעלים יש את הפריבילגיה לשנות את הבעלים לתפקיד אחר.

בדוק את רשימת מסדי הנתונים אם הפעולה הצליחה באמצעות הפקודה הבאה:

$ \רשימה

עם חשבון מיוחס, אנו יכולים גם ליצור מסד נתונים עבור מישהו אחר באמצעות הפקודה הבאה:

$ צור מסד נתונים < db_name > בעלים < תַפְקִיד > ;

הפקודה Createdb

בשיטה הקודמת, היינו צריכים לעבור מספר שלבים כדי ליצור מסד נתונים:

  • התחבר לשרת PostgreSQL באמצעות psql.
  • הפעל את השאילתות כדי ליצור מסד נתונים חדש.

כדי לייעל את התהליך, PostgreSQL מגיע עם הפקודה createb. זה בעצם פועל כעטיפה לפעולות האלה. אנחנו יכולים להריץ ישירות את הפקודה createb מהמעטפת.

1. יצירת מסד נתונים באמצעות Createdb
כדי ליצור מסד נתונים באמצעות שרת מסד הנתונים המוגדר כברירת מחדל, השתמש בפקודה הבאה:

$ נוצרב < db_name >

אמת את הפעולה באמצעות הפקודה הבאה:

$ psql '\רשימה'

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

$ נוצרב < מנחה > -עמ' < נמל > -T < תבנית > -זה --שם משתמש = < שם משתמש > --סיסמה --maintenance-db = < maintenance_db_name > < db_name >

כאן:

  • : פרמטר זה מציין את מיקום שרת PostgreSQL (כתובת IP או שם תחום).
  • -עמ' : היציאה לחיבור לשרת.
  • -T : התבנית לשימוש בעת יצירת מסד הנתונים החדש. זה יכול להיות template0, template1 או כל מסד נתונים אחר.
  • -זה : מהדהד את השאילתה המקבילה.
  • -שם משתמש : שם המשתמש לחיבור לשרת.
  • -סיסמה : מאלץ את הפקודה createb לבקש סיסמה לפני ההתחברות לשרת. ברוב המקרים, זה לא נדרש מכיוון ש-createdb מבקש אוטומטית להזין סיסמה אם השרת דורש זאת. עם זאת, הוא מבלה ניסיון חיבור כדי להבין את זה.
  • -maintenance-db : מסד הנתונים שאליו יש להתחבר בעת יצירת מסד הנתונים החדש. אם לא צוין, ההנחה של postgres היא כברירת מחדל. אם postgres לא קיים, ההנחה היא 'template1'.

הגיע הזמן להוציא את זה לפועל. הפעל את הפקודה createb הבאה:

$ נוצרב מארח מקומי -עמ' 5432 -T תבנית0 -זה --שם משתמש =postgres test_db

כפי שהפלט מרמז, זה שווה ערך לשאילתה הבאה:

$ CREATE DATABASE test_db TEMPLATE template0;

ניהול מסדי נתונים נוסף

בסעיף זה, בואו נסתכל על פעולות אחרות לניהול מסד נתונים.

פירוט מאגרי המידע

ישנן מספר דרכים לרשום את מסדי הנתונים המאוחסנים בשרת. כבר הדגמנו שיטה אחת בסעיפים הקודמים:

$ \רשימה

דרך נוספת היא לבחון את קטלוג המערכת 'pg_database':

$ בחר שם נתונים FROM pg_database;

מחיקת מסד נתונים

כדי למחוק מסד נתונים, הפעל את השאילתה הבאה:

$ שחרר את מסד הנתונים < db_name > ;

בדומה ל-createdb, PostgreSQL מגיע גם עם הפקודה dropdb אותה נוכל להריץ מהמעטפת. תסתכל על הדוגמה הבאה:

$ dropdb < מנחה > -עמ' < נמל > --שם משתמש = < שם משתמש > --סיסמה -זה < db_name >

כאן:

  • : שרת PostgreSQL שאליו יש להתחבר.
  • -עמ' : היציאה של שרת PostgreSQL שאליו יש להתחבר.
  • -זה : מהדהד את השאילתה המקבילה.

שים לב שהמשתמש חייב להיות בעל הרשאות מספיקות כדי למחוק מסד נתונים.

שינוי בעלות על מסד נתונים

בעל מאגר מידע יכול לבצע כל פעולה במסד הנתונים, לרבות מחיקת המאגר. כברירת מחדל, המשתמש שיוצר את מסד הנתונים מוקצה כבעלים. עם זאת, אנו יכולים להקצות מחדש את הבעלות למשתמש אחר.

כדי לשנות את הבעלים של מסד הנתונים, הפעל את השאילתה הבאה ב-psql:

$ שנה מסד נתונים < db_name > הבעלים ל < בעלים חדשים > ;

עם זאת, זה לא ישנה את הבעלות על האובייקטים במסד הנתונים (כולל טבלאות). במקרים כאלה, עלינו להשתמש בשאילתה אחרת. התחבר למסד הנתונים היעד והפעל את השאילתה הבאה:

$ הקצאה מחדש בבעלות < בעל_ישן > ל < בעלים חדשים > ;

למרות שהיא נוחה, שאילתה זו מגיעה עם כמה אזהרות:

  • בעת חיבור ל-postgres (בסיס נתונים), הוא יכול לשנות את הבעלות על מסדי נתונים מרובים בבת אחת.
  • אל תשתמש בשאילתה זו כאשר הבעלים המקורי הוא postgres מכיוון שהיא עלולה להשחית את כל המופע של DB.

בונוס: הפעלת השאילתות מהמעטפת

עד כה, אנו מריצים את השאילתות ממסוף PostgreSQL. מה אם אתה רוצה לשלב כמה פונקציונליות של מסד נתונים בסקריפטים שלך? הפקודות createb ו- dropdb יכולות לבצע רק פעולות ספציפיות.

כדי לפתור זאת, נוכל להשתמש ב-psql כצינור. מלבד המעטפת האינטראקטיבית הסטנדרטית, psql יכול גם להריץ את השאילתות תוך כדי תנועה.

שיטה 1:

מבנה הפקודה הוא כדלקמן:

$ psql < מנחה > -עמ' < נמל > -IN < שם משתמש > < מאגר מידע > < שאילתא >

כאן:

  • : הכתובת של שרת PostgreSQL.
  • -עמ' : היציאה שאליה יש להתחבר (ערך ברירת המחדל הוא 5432).
  • -IN : המשתמש שאליו יש להתחבר כ.
  • : מסד הנתונים שאליו יש להתחבר.
  • : השאילתה לביצוע.

שיטה 2:

PostgreSQL מגיע עם תכונה מעניינת נוספת: חיבור URI. זוהי דרך חכמה לקידוד מסודר של כל פרמטרי החיבור. המבנה של URI חיבור הוא כדלקמן:

$ postgresql: //< שם משתמש > : < סיסמה >@< מנחה > : < נמל >/< db_name >

כאן:

  • postgresql אוֹ postgres : הפרוטוקול הייחודי עבור URI של חיבור PostgreSQL.

כדי להתחבר למסד נתונים באמצעות URI החיבור, השתמש בפקודה psql הבאה:

$ psql < connection_uri > < שאילתא >

סיכום

למדנו על דרכים שונות ליצירת מסדי נתונים ב-PostgreSQL. הדגמנו כיצד ליצור מסד נתונים באמצעות השאילתה CREATE DATABASE. הצגנו גם את יצירת מסד הנתונים באמצעות הפקודה createb. בנוסף, העלינו גם כמה פעולות חשובות אחרות לניהול מסדי נתונים כמו מחיקת מסדי נתונים ושינוי הבעלים.

מעוניין ללמוד עוד על PostgreSQL? בדוק את תת קטגוריית PostgreSQL y המכיל מדריכים רבים על תכונות שונות; לדוגמה: פונקציות , ביטויים רגולריים , שולחנות , ועוד הרבה.