Έκδοση PostgreSQL 12 DBMS

Μετά από ένα χρόνο ανάπτυξης που δημοσιεύθηκε νέος σταθερός κλάδος του DBMS PostgreSQL 12. Ενημερώσεις για το νέο κλάδο θα βγει για πέντε χρόνια έως τον Νοέμβριο του 2024.

Ο κύριος καινοτομίες:

  • Προστέθηκε υποστήριξη για "δημιουργήθηκαν στήλες", η τιμή της οποίας υπολογίζεται με βάση μια έκφραση που καλύπτει τις τιμές άλλων στηλών στον ίδιο πίνακα (παρόμοια με προβολές, αλλά για μεμονωμένες στήλες). Οι στήλες που δημιουργούνται μπορούν να είναι δύο τύπων - αποθηκευμένες και εικονικές. Στην πρώτη περίπτωση, η τιμή υπολογίζεται τη στιγμή που προστίθενται ή αλλάζουν τα δεδομένα και στη δεύτερη περίπτωση, η τιμή υπολογίζεται σε κάθε ανάγνωση με βάση την τρέχουσα κατάσταση άλλων στηλών. Επί του παρόντος, η PostgreSQL υποστηρίζει μόνο αποθηκευμένες δημιουργημένες στήλες.
  • Προστέθηκε η δυνατότητα αναζήτησης δεδομένων από έγγραφα JSON χρησιμοποιώντας Εκφράσεις μονοπατιού, θυμίζει XPath και ορίζεται στο πρότυπο SQL/JSON. Οι υπάρχοντες μηχανισμοί ευρετηρίασης χρησιμοποιούνται για τη βελτίωση της αποτελεσματικότητας της επεξεργασίας τέτοιων εκφράσεων για έγγραφα που είναι αποθηκευμένα σε μορφή JSONB.
  • Ενεργοποιημένη από προεπιλογή είναι η χρήση ενός μεταγλωττιστή JIT (Just-in-Time) που βασίζεται στις εξελίξεις του LLVM για την επιτάχυνση της εκτέλεσης ορισμένων εκφράσεων κατά την επεξεργασία ερωτημάτων SQL. Για παράδειγμα, το JIT χρησιμοποιείται για την επιτάχυνση της εκτέλεσης εκφράσεων μέσα σε μπλοκ WHERE, λίστες στόχων, συγκεντρωτικές εκφράσεις και ορισμένες εσωτερικές λειτουργίες.
  • Η απόδοση της ευρετηρίασης έχει βελτιωθεί σημαντικά. Τα ευρετήρια B-tree είναι βελτιστοποιημένα για να λειτουργούν σε περιβάλλοντα όπου τα ευρετήρια αλλάζουν συχνά - οι δοκιμές TPC-C δείχνουν συνολική αύξηση στην απόδοση και μέση μείωση της κατανάλωσης χώρου στο δίσκο κατά 40%. Μειωμένη επιβάρυνση κατά τη δημιουργία καταγραφής προκαταβολής εγγραφής (WAL) για τύπους ευρετηρίου GiST, GIN και SP-GiST. Για το GiST, έχει προστεθεί η δυνατότητα δημιουργίας ευρετηρίων περιτυλίγματος (μέσω της έκφρασης INCLUDE) που περιλαμβάνουν επιπλέον στήλες. Σε λειτουργία ΔΗΜΙΟΥΡΓΙΑ ΣΤΑΤΙΣΤΙΚΩΝ Παρέχει υποστήριξη για στατιστικά στοιχεία για τις πιο κοινές τιμές (MCV) για τη δημιουργία βέλτιστων σχεδίων ερωτημάτων όταν χρησιμοποιούνται άνισα κατανεμημένες στήλες.
  • Η υλοποίηση διαμερισμάτων είναι βελτιστοποιημένη για ερωτήματα που εκτείνονται σε πίνακες με χιλιάδες διαμερίσματα, αλλά περιορίζονται στην επιλογή ενός περιορισμένου υποσυνόλου δεδομένων. Η απόδοση της προσθήκης δεδομένων σε διαμερισμένους πίνακες χρησιμοποιώντας λειτουργίες INSERT και COPY έχει αυξηθεί και είναι επίσης δυνατή η προσθήκη νέων ενοτήτων μέσω του "ALTER TABLE ATTACH PARTITION" χωρίς αποκλεισμό της εκτέλεσης ερωτήματος.
  • Προστέθηκε υποστήριξη για αυτόματη ενσωματωμένη επέκταση γενικευμένων εκφράσεων πίνακα (Κοινή έκφραση πίνακα, CTE) που επιτρέπουν τη χρήση προσωρινών ονομασμένων συνόλων αποτελεσμάτων που καθορίζονται χρησιμοποιώντας τη δήλωση WITH. Η ενσωματωμένη ανάπτυξη μπορεί να βελτιώσει την απόδοση των περισσότερων ερωτημάτων, αλλά προς το παρόν χρησιμοποιείται μόνο για μη επαναλαμβανόμενα CTE.
  • Προστέθηκε υποστήριξη μη ντετερμινιστικό ιδιότητες της τοπικής ρύθμισης "Collation", η οποία σας επιτρέπει να ορίζετε κανόνες ταξινόμησης και μεθόδους αντιστοίχισης λαμβάνοντας υπόψη τη σημασία των χαρακτήρων (για παράδειγμα, κατά την ταξινόμηση ψηφιακών τιμών, την παρουσία ενός μείοντος και μιας κουκκίδας μπροστά από έναν αριθμό και διαφορετικούς τύπους λαμβάνονται υπόψη της ορθογραφίας και κατά τη σύγκριση δεν λαμβάνονται υπόψη η περίπτωση των χαρακτήρων και η παρουσία ενός σημαδιού τονισμού) .
  • Προστέθηκε υποστήριξη για έλεγχο ταυτότητας πελάτη πολλαπλών παραγόντων, στην οποία στο pg_hba.conf μπορείτε να συνδυάσετε τον έλεγχο ταυτότητας πιστοποιητικού SSL (clientcert=verify-full) με μια πρόσθετη μέθοδο ελέγχου ταυτότητας όπως το scram-sha-256 για έλεγχο ταυτότητας.
  • Προστέθηκε υποστήριξη για κρυπτογράφηση του καναλιού επικοινωνίας κατά τον έλεγχο ταυτότητας μέσω GSSAPI, τόσο από την πλευρά του πελάτη όσο και από την πλευρά του διακομιστή.
  • Προστέθηκε υποστήριξη για τον προσδιορισμό διακομιστών LDAP με βάση τις εγγραφές "DNS SRV", εάν το PostgreSQL είναι κατασκευασμένο με OpenLDAP.
  • Προστέθηκε λειτουργία "REINDEX ΣΥΓΧΡΟΝΩΣ» για να δημιουργήσετε ξανά ευρετήρια χωρίς να μπλοκάρετε τις λειτουργίες εγγραφής στο ευρετήριο.
  • Η ομάδα προστέθηκε pg_checkssums, που σας επιτρέπει να ενεργοποιήσετε ή να απενεργοποιήσετε τον έλεγχο των αθροισμάτων ελέγχου των σελίδων δεδομένων για μια υπάρχουσα βάση δεδομένων (προηγουμένως αυτή η λειτουργία υποστηριζόταν μόνο κατά την προετοιμασία της βάσης δεδομένων).
  • Παρέχεται έξοδος δείκτη προόδου για λειτουργίες CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL και pg_checkssums.
  • Προστέθηκε εντολή "ΔΗΜΙΟΥΡΓΙΑ ΜΕΘΟΔΟΥ ΠΡΟΣΒΑΣΗΣ» για σύνδεση χειριστών για νέες μεθόδους αποθήκευσης πινάκων βελτιστοποιημένες για διάφορες συγκεκριμένες εργασίες. Επί του παρόντος, η μόνη ενσωματωμένη μέθοδος πρόσβασης στον πίνακα είναι το "heap".
  • Το αρχείο διαμόρφωσης recovery.conf έχει συγχωνευθεί με το postgresql.conf. Ως δείκτες μετάβασης στην κατάσταση ανάκαμψης μετά από μια αποτυχία, τώρα πρέπει να είναι χρησιμοποιήστε αρχεία recovery.signal και standby.signal.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο