בנוסף למשתמשים ולתפקידים שמוגדרים כברירת מחדל ב-PostgreSQL, אפשר ליצור משתמשים או תפקידים אחרים ב-PostgreSQL. למשתמשים האלה יש את אותה קבוצת הרשאות כמו למשתמש postgres: CREATE ROLE, CREATEDB ו-LOGIN. מידע נוסף על ההרשאות האלה זמין במאמר CREATE ROLE.
אפשר לשנות את ההרשאות של כל משתמש באמצעות הפקודה ALTER ROLE. אם יוצרים משתמש חדש באמצעות הלקוח psql, אפשר לשייך אותו לתפקיד אחר או להקצות לו הרשאות אחרות.
לפני שמתחילים
כדי להשתמש בפקודות PostgreSQL לניהול משתמשים באשכול, צריך:
- גישה ללקוח
psql - גישה למשתמש מסד הנתונים
postgres, או למשתמש אחר עם הרשאות אדמין מתאימות
יצירת משתמש במסד נתונים
כדי ליצור משתמש במסד נתונים שמבצע אימות ישירות במסד הנתונים באמצעות שם משתמש וסיסמה – תהליך שנקרא גם אימות מובנה – משתמשים בפקודה הבאה:
CREATE USER USERNAME WITH PASSWORD 'PASSWORD';
מחליפים את מה שכתוב בשדות הבאים:
USERNAME: שם המשתמש של תפקיד המשתמש.
PASSWORD: הסיסמה החדשה שרוצים להקצות לתפקיד המשתמש.
מידע נוסף על יצירה והגדרה של משתמשי מסד נתונים זמין במאמר CREATE
USER.
אחרי שיוצרים משתמש או תפקיד, אפשר לשנות את ההרשאות שלו באמצעות הפקודה ALTER
ROLE בלקוח psql.
הקצאת תפקידים למשתמש במסד נתונים
כדי להקצות תפקידים למשתמש במסד נתונים, משתמשים בפקודה הבאה:
GRANT ROLE to USERNAME;
מחליפים את מה שכתוב בשדות הבאים:
ROLE: התפקיד שרוצים לתת למשתמש במסד הנתונים.
PASSWORD: הסיסמה החדשה להקצאה לתפקיד המשתמש.
כדי לתת למשתמש הרשאות סופר-משתמש, צריך להקצות לו את התפקיד alloydbsuperuser.
שינוי הסיסמה של משתמש במסד נתונים
כדי להגדיר סיסמה חדשה למשתמש רגיל במסד נתונים של PostgreSQL, משתמשים בפקודה הבאה:
ALTER USER USERNAME WITH PASSWORD 'PASSWORD';
מחליפים את מה שכתוב בשדות הבאים:
USERNAME: שם המשתמש של המשתמש במסד הנתונים.
PASSWORD: הסיסמה החדשה שרוצים להקצות לתפקיד המשתמש.
מידע נוסף על שינוי סיסמת משתמשALTER ROLE
ביטול תפקיד של משתמש במסד נתונים
כדי לבטל הרשאה שניתנה בעבר לתפקיד אחד או יותר, או כדי לבטל את החברות של משתמש בתפקיד, משתמשים בפקודה הבאה:
REVOKE ROLE FROM USERNAME;
כדי להסיר את הרשאות משתמש-העל של משתמש, מבטלים את התפקיד alloydbsuperuser של אותו משתמש.
הצגת רשימה של משתמשי מסד הנתונים
כדי להציג טבלה של כל המשתמשים במסד הנתונים והקבוצות שהם חברים בהן, משתמשים בפקודה הבאה:
\du
מחיקת משתמש במסד נתונים
לפני שמוחקים משתמש, צריך להסיר את כל האובייקטים שבבעלותו או להקצות מחדש את הבעלות עליהם, ולבטל את כל ההרשאות שהתפקיד קיבל על אובייקטים אחרים.
כדי למחוק משתמש, משתמשים בפקודה הבאה:
DROP ROLE USERNAME;