PostgreSQL 12 хувилбар

Жилийн хөгжлийн дараа хэвлэгдсэн PostgreSQL 12 DBMS-ийн шинэ тогтвортой салбар Шинэ салбарын шинэчлэлтүүд гарч ирнэ 2024 оны арваннэгдүгээр сар хүртэл таван жилийн хугацаатай.

Үндсэн инноваци:

  • "-д дэмжлэг нэмсэн.үүсгэсэн баганууд", түүний утгыг ижил хүснэгтийн бусад баганын утгыг хамарсан илэрхийлэлд үндэслэн тооцдог (харахтай төстэй, гэхдээ тусдаа баганын хувьд). Үүсгэсэн баганууд нь хадгалсан болон виртуал гэсэн хоёр төрлийн байж болно. Эхний тохиолдолд өгөгдлийг нэмэх эсвэл өөрчлөх үед утгыг тооцдог бөгөөд хоёр дахь тохиолдолд бусад баганын одоогийн төлөвт үндэслэн уншилт тус бүр дээр утгыг тооцдог. Одоогоор PostgreSQL нь зөвхөн хадгалагдсан үүсгэсэн багануудыг дэмждэг;
  • JSON баримтаас өгөгдөл хайх боломжийг нэмсэн Замын илэрхийллүүд, санагдуулдаг XPath болон SQL/JSON стандартад тодорхойлсон. JSONB форматад хадгалагдсан баримт бичгийн ийм илэрхийллийг боловсруулах үр ашгийг дээшлүүлэхийн тулд одоо байгаа индексжүүлэх механизмуудыг ашигладаг;
  • SQL асуулга боловсруулах явцад зарим илэрхийллийн гүйцэтгэлийг хурдасгахын тулд LLVM хөгжүүлэлт дээр суурилсан JIT (Just-in-Time) хөрвүүлэгчийг анхдагчаар идэвхжүүлдэг. Жишээлбэл, JIT нь WHERE блок, зорилтот жагсаалт, нэгтгэсэн илэрхийлэл болон зарим дотоод үйлдлүүдийн доторх илэрхийлэлүүдийн гүйцэтгэлийг хурдасгахад ашиглагддаг;
  • Индексжүүлэх гүйцэтгэл мэдэгдэхүйц сайжирсан. B-tree индексүүд нь индексүүд байнга өөрчлөгддөг орчинд ажиллахын тулд оновчтой байдаг - TPC-C тестүүд нь гүйцэтгэлийн ерөнхий өсөлтийг харуулж, дискний зайны зарцуулалтыг дунджаар 40% бууруулдаг. GiST, GIN болон SP-GiST индексийн төрлүүдэд урьдчилан бичих бүртгэл (WAL) үүсгэх үед гарах зардлыг бууруулсан. GiST-ийн хувьд нэмэлт багана агуулсан боодлын индекс (INCLUDE илэрхийллээр) үүсгэх чадварыг нэмсэн. Ажиллаж байгаа СТАТИСТИК БҮТЭЭХ Тэгш бус тархсан багануудыг ашиглах үед илүү оновчтой асуулгын төлөвлөгөөг гаргахын тулд Хамгийн нийтлэг үнэ цэнэ (MCV) статистикийн дэмжлэгийг үзүүлдэг;
  • Хуваалтын хэрэгжилт нь олон мянган хуваалт бүхий хүснэгтүүдийг хамарсан асуулгад оновчтой хийгдсэн боловч хязгаарлагдмал дэд багц өгөгдлийг сонгоход хязгаарлагддаг. INSERT болон COPY үйлдлүүдийг ашиглан хуваагдсан хүснэгтэд өгөгдөл нэмэх гүйцэтгэл нэмэгдсэн бөгөөд асуулгын гүйцэтгэлийг хаахгүйгээр "ALTER TABLE ATTACH PARTITION"-ээр дамжуулан шинэ хэсгүүдийг нэмэх боломжтой болсон;
  • Хүснэгтийн ерөнхий илэрхийллийг автоматаар өргөтгөх дэмжлэг нэмэгдсэн (Нийтлэг хүснэгтийн илэрхийлэл, CTE) нь WITH мэдэгдлийг ашиглан тодорхойлсон түр зуурын нэртэй үр дүнгийн багцыг ашиглахыг зөвшөөрдөг. Inline байршуулалт нь ихэнх асуулгын гүйцэтгэлийг сайжруулах боломжтой боловч одоогоор зөвхөн рекурсив бус CTE-д ашиглагдаж байна;
  • Нэмэлт дэмжлэг детерминист бус Тэмдэгтүүдийн утгыг харгалзан эрэмбэлэх дүрэм, тохирох аргыг тохируулах боломжийг олгодог "Харилцааны" хэлний шинж чанарууд (жишээлбэл, тоон утгыг эрэмбэлэх, тооны урд хасах, цэг байгаа эсэх, янз бүрийн төрлүүд). зөв бичгийн дүрмийг харгалзан үздэг бөгөөд харьцуулахдаа тэмдэгтийн тохиолдол, өргөлтийн тэмдэг байгаа эсэхийг харгалзан үздэггүй);
  • pg_hba.conf дээр та SSL сертификатын баталгаажуулалтыг (clientcert=verify-full) баталгаажуулалтын scram-sha-256 гэх мэт нэмэлт баталгаажуулалтын аргатай хослуулж болох олон хүчин зүйлтэй үйлчлүүлэгчийн баталгаажуулалтын дэмжлэгийг нэмсэн;
  • Баталгаажуулах үед холбооны сувгийг шифрлэх дэмжлэг нэмэгдсэн GSSAPI, үйлчлүүлэгч тал болон сервер тал дээр аль алинд нь;
  • PostgreSQL-ийг OpenLDAP-д суулгасан бол "DNS SRV" бичлэг дээр үндэслэн LDAP серверийг тодорхойлох дэмжлэг нэмэгдсэн;
  • Нэмсэн ажиллагаа "НЭГДСЭН ДАХИН ИНДЕКС» индекс рүү бичих үйлдлийг блоклохгүйгээр индексүүдийг дахин бүтээх;
  • Команд нэмсэн pg_checkssums, энэ нь одоо байгаа өгөгдлийн сангийн өгөгдлийн хуудасны шалгах нийлбэрийг шалгахыг идэвхжүүлэх эсвэл идэвхгүй болгох боломжийг олгодог (өмнө нь энэ үйлдлийг зөвхөн мэдээллийн санг эхлүүлэх үед дэмждэг байсан);
  • CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL болон pg_checksums үйл ажиллагааны явцын үзүүлэлтийн гаралтыг өгсөн;
  • "Нэмсэн тушаал"ХАНДАХ АРГА ХИЙХ» янз бүрийн тодорхой ажлуудад оновчтой болгосон хүснэгт хадгалах шинэ аргуудын боловсруулагчдыг холбох. Одоогоор хүснэгтэд нэвтрэх цорын ганц арга бол "овоолох";
  • recovery.conf тохиргооны файлыг postgresql.conf-тэй нэгтгэсэн. Одоо бүтэлгүйтлийн дараа сэргээх төлөвт шилжих үзүүлэлтүүдийн хувьд байх ёстой recovery.signal болон standby.signal файлуудыг ашиглах.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх