הבנת סוגי העמודות היא חיונית למנהלי מסד נתונים מכיוון שהיא עוזרת להבטיח את יעילות השאילתה וטיפול נכון בנתונים.
מדריך זה בוחן את השיטות השונות לאחזור סוגי העמודות ב-PostgreSQL כולל הכלים כגון PSQL.
טבלה לדוגמה
השאילתות לדוגמה הבאות מדגימות כיצד ליצור טבלה פשוטה עם שלוש עמודות של סוגי נתונים שונים:
CREATE TABLE sample_table (
id SERIAL PRIMARY KEY,
שם VARCHAR(50),
גיל INT
);
לאחר שנגדיר את הטבלה שבה אנו משתמשים למטרות הדגמה, נוכל לחקור את השיטות השונות לאחזר סוגי העמודות ב-PostgreSQL.
שיטה 1: שימוש ב-INFORMATION_SCHEMA
השיטה הנפוצה ביותר לאחזור מידע מטא נתונים על אובייקטי מסד נתונים שונים ב-PostgreSQL היא שימוש בקטלוג INFORMATION_SCHEMA.
כדי להביא את סוג העמודה באמצעות טבלת information_schema, נוכל להריץ את השאילתה הבאה:
SELECT table_name, column_name, data_typeFROM information_schema.columns
WHERE table_schema = 'ציבורי';
השאילתה הקודמת מאחזרת את שם הטבלה, שם העמודה וסוג הנתונים עבור כל העמודות בסכימה הציבורית. התאם את תנאי table_schema כדי לאחזר את העמודות מסכימה ספציפית.
בהנחה שיש לנו רק את sample_table בסכימה הציבורית, אנו אמורים לראות פלט כפי שמוצג בתמונה הבאה:
table_name | column_name | סוג מידע--------------+--------------+------------------------
sample_table | מזהה | מספר שלם
sample_table | גיל | מספר שלם
sample_table | שם | אופי משתנה
(3 שורות)
כפי שאנו יכולים לראות, אנו מקבלים את שם הטבלה, שם העמודה וסוג הנתונים המתאים לה.
שיטה 2: שימוש בפקודות PSQL
אנו יכולים גם להשתמש בפקודה '\d' מכלי השירות PSQL כדי להביא את המידע על עמודת טבלה נתונה.
לאחר חיבור למסד הנתונים היעד, השתמש ב- '\d' ואחריו בשם הטבלה כפי שמוצג להלן:
\d table_nameדוגמא:
\d sample_table;הפקודה הנתונה צריכה להחזיר את הפלט באופן הבא:
הפלט כולל את שמות העמודות, סוגי הנתונים ומידע אחר על מבנה הטבלה.
שיטה 3: שימוש בטבלת הקטלוג Pg_attribute
אנו יכולים גם לבצע שאילתות בטבלת הקטלוג pg_attribute כדי להביא את סוג הנתונים של עמודת טבלה. תחביר השאילתה הוא כדלקמן:
SELECT attname AS column_name, format_type(atttypid, atttypmod) AS data_typeFROM pg_attribute
WHERE attrelid ='target_table'::regclass
AND attnum > 0
AND לא attisdroppe;
החלף את הפרמטר target_table בשם הטבלה שעליו נמצאת עמודת היעד שלך.
דוגמה היא כדלקמן:
SELECT attname AS column_name, format_type(atttypid, atttypmod) AS data_typeFROM pg_attribute
WHERE attrelid = 'sample_table'::regclass
AND attnum > 0
AND לא attisdroppe;
זה אמור להחזיר את שמות העמודות ואת סוג הנתונים המתאים באופן הבא:
סיכום
בדקנו את שלוש השיטות העיקריות לצפייה בסוג הנתונים של עמודת טבלה באמצעות כלי PostgreSQL. שליפת סוג נתוני העמודה חיונית בבניית שאילתות יישומים יעילות ותואמות.