18 במאי 2017

PostgreSQL בטא 1 שוחררה לאוויר!

קבוצת הפיתוח העולמית PostgreSQL שמחה להודיע על הזמינות של PostgreSQL בטא 1.

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

 

 

E.1. מהדורה 9.6.2

שוחרר ב 9 לפברואר 2017

גרסה זו מכילה מגוון תיקונים מ 9.6.1. לקבלת מידע על תכונות חדשות במהדורה  9.6, ראה סעיף E.3.

E.1.1. הגירה ל גרסה 9.6.2

dump/restore אינו נדרש עבור אלה שמשתמשים ב 9.6.X

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

pgDay 2017, הכנס הראשון מסוגו בישראל בנושא PostgreSQL

שלום לכולם!

ביום חמישי, ה-2.3.17, התקיים ה- pgDay 2017, הכנס הראשון מסוגו בישראל בנושא PostgreSQL, ב- Google Campus Tel Aviv בחסות חברת פוסטגרס מקצוענים, הנציגה הרשמית בישראל של Postgres Professional, המספקת שרותים מקצועיים בתחום PostgreSQL בישראל. האירוע עורר עניין רב בקרב תעשיות היי-טק ובטחוניות, ונכחו בו כ- 70 משתתפים ממגוון תחומים, חברות וגילאים. 

קבוצת הקהילה ב Telegram

פתחנו את קבוצה של קהילה ב Telegram.

קבוצה נוצרה על מנת לתת מענה מהיר לבעיות או שאלות של חברי הקהילה בנושא של שימוש ב PostgreSQL.

נשמח לעזור למשתמשים מתחילים ומתקדמים כאחד.

ניתן להצטרף לקבוצה בלינק.

 

אפשרויות האינדקסים ב PostgreSQL

אינדקסים פונקציונליים

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

נניח, למשל,  שבטבלה t יש שדה f והרבה קריאות מהטבלה משתמשות בתנאי: אות הראשונה של f שווה ל"אות"

ניתן ליצור אינדקס:

CREATE INDEX f_name_first_idx ON t ((substr(f, 1, 1)));

לאחר מכן קריאה הבאה תשתמש באינדקס החדש:

SELECT * FROM t WHERE (f, 1, 1) = 'a';

אינדקסים חלקיים

אינדקס חלקי הוא אינדקס עם תנאי WHERE.

שימוש באינדקסים

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

אם לא - נבנה אותם. צריכים לזכור שעודף האינדקסים טומן בתוכו בעיות:

צילומי ההרצאות מהמיטאפ + ניוזלטר

שלום לכל חברי הקבוצה!

והפעם יש עדכונים רבים:

 

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

Npgsql: Open Source .NET Support for PostgreSQL
by Shay Rojansky

DaTabl.eS/QL: Open Source Thin Layer over SQL that Doubles its Functionality
by Eli Marmor

אופטימיזציה של מסד הנתונים ויישומים

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

  • היעדרות "זבל" במסד הנתונים, אשר מפריע לגשת לנתונים הרלוונטיים. קיימות שתי משימות משנה:
    • עיצוב נכון של בסיס הנתונים
    • ניקוי "זבל" אשר נוצר בזמן פעילות של מסד הנתונים
  • זמינות של דרכים מהירות  לגשת לנתונים - אינדקסים
  • היכולת של Planner להשתמש בהם
  • הימנעות מבעיות ידועות

תחזוקת מסד הנתונים בצורה תקינה

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

הגדרות של Planner/Optimizer

ההתאמות הבאות מאפשרות לPlanner להעריך נכון את הערך של פעולות שונות ולבחור את תכנית הביצוע הטובה ביותר עבור שאילתות.

ישנם 3 הגדרות מתזמנות, שכדאי לשים לב:

default_statistics_target

פרמטר זה מציין את כמות הנתונים הסטטיסטיים שנאספת על ידי הפקודה ANALYZE. הגדלת הפרמטר תגרום למערכת לעבוד יותר, אך היא יכולה לאפשר לבנות תכניות מהירות יותר, ע"י שימוש במידע הנוסף שהתקבל. נתונים סטטיסטיים עבור שדה אפשר להגיד ע"י ALTER TABLE ... SET STATISTICS.

הגדרות אחרות (המשך)

- full_page_writes, תבחר באפשרות off, אם fsync = off. אחרת, כאשר on נבחר, PostgreSQL כותב את התוכן של כל רשומה ביומן בשינוי הראשון של הטבלה. זה נחוץ משום שהנתונים עשויים להיות שמורים באופן חלקי בלבד, אם בזמן התהליך נפלה מערכת ההפעלה. זה יגרום שבדיסק יהיה מידע חדש מעורבב עם הישן. רישום ביומן יכול להיות לא מספיק על מנת לשחזר את הנתונים באופן מלא לאחר נפילת מערכת ההפעלה. full_page_writes מבטיח התאוששות בצורה נכונה, ע"י עלייה בכמות הנתונים שייכתבו ביומן (הדרך היחידה להפחית את כמות הנתונים ביומן היא להגדיל checkpoint_interval).

תגובות אחרונות