PostgreSQL 15 хувилбар

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

Гол инноваци:

  • "INSERT ... ON CONFLICT" илэрхийлэлтэй төстэй "MERGE" SQL командын дэмжлэгийг нэмсэн. MERGE нь INSERT, UPDATE, DELETE үйлдлүүдийг нэг илэрхийлэл болгон нэгтгэсэн нөхцөлт SQL хэллэгүүдийг үүсгэх боломжийг олгодог. Жишээлбэл, MERGE-г ашигласнаар дутуу бичлэгүүдийг оруулах, одоо байгаа хүснэгтүүдийг шинэчлэх замаар хоёр хүснэгтийг нэгтгэж болно. Харилцагчийн_дансанд НЭГДҮҮЛНЭ t.customer_id = ca.customer_id ТОХИРСОН ҮЕД ТОХИРЧ БАЙГАА ҮЕД ТОХИРУУЛАХ үлдэгдэл = үлдэгдэл + гүйлгээний_утга ТОХИРУУЛАХГҮЙ ХЭВЭД ШИНЭЧЛЭНЭ (хэрэглэгчийн_id, үлдэгдэл) ҮНЭ ЦЭВЭРЛЭХ (т.хэрэглэгчийн_id, үлдэгдэл).
  • Санах ой болон диск дээрх өгөгдлийг эрэмбэлэх алгоритмууд мэдэгдэхүйц сайжирсан. Өгөгдлийн төрлөөс хамааран ангилах хурд 25% -иас 400% хүртэл нэмэгдсэнийг туршилтууд харуулж байна.
  • row_number(), rank(), dense_rank() болон count() ашигладаг цонхны функцуудыг хурдасгасан.
  • "SELECT DISTINCT" илэрхийлэл бүхий асуулгад зэрэгцэн ажиллах боломжийг хэрэгжүүлсэн.
  • Гадаад хүснэгтүүдийг холбох механизм (postgres_fdw) нь асинхрон коммитуудыг дэмжихээс гадна гадаад серверт хүсэлтийг асинхроноор боловсруулах боломжийг олгодог.
  • WAL гүйлгээний бүртгэлийг шахахын тулд LZ4 болон Zstandard (zstd) алгоритмуудыг ашиглах чадварыг нэмсэн бөгөөд энэ нь зарим ажлын ачаалалд нэгэн зэрэг гүйцэтгэлийг сайжруулж, дискний зайг хэмнэх боломжтой. Алдаа гарсны дараа сэргээх хугацааг багасгахын тулд WAL бүртгэлд гарч буй хуудсуудыг идэвхтэй сэргээх дэмжлэгийг нэмсэн.
  • pg_basebackup хэрэгсэл нь gzip, LZ4 эсвэл zstd аргуудыг ашиглан нөөц файлуудыг сервер талд шахах дэмжлэгийг нэмсэн. Архивлахдаа өөрийн модулиудыг ашиглах боломжтой бөгөөд ингэснээр бүрхүүлийн командуудыг ажиллуулах шаардлагагүй болно.
  • regexp_count(), regexp_instr(), regexp_like() болон regexp_substr() гэсэн энгийн илэрхийлэлүүдийг ашиглан мөрүүдийг боловсруулах хэд хэдэн шинэ функц нэмэгдсэн.
  • Олон хүрээний төрлийг ("олон хүрээ") нэгтгэх чадварыг range_agg() функцэд нэмсэн.
  • Хамгаалалтын_хэрэглэгчийн горимыг нэмсэн бөгөөд энэ нь харагдац үүсгэгч бус харин дуудаж буй хэрэглэгчээр ажилладаг харагдац үүсгэх боломжийг олгодог.
  • Логик хуулбарлахын тулд мөрүүдийг шүүх, баганын жагсаалтыг тодорхойлох дэмжлэгийг хэрэгжүүлсэн бөгөөд энэ нь илгээгчийн талд хуулбарлахаар хүснэгтээс өгөгдлийн дэд багцыг сонгох боломжийг олгосон. Нэмж дурдахад, шинэ хувилбар нь зөрчилдөөний менежментийг хялбаршуулсан, жишээлбэл, зөрчилтэй гүйлгээг алгасах, алдаа илэрсэн үед бүртгэлийг автоматаар хаах боломжтой болсон. Логик хуулбарлах нь хоёр үе шаттай үйлдлийг (2PC) ашиглах боломжийг олгодог.
  • JSON форматыг ашиглан бүтэцлэгдсэн хэлбэрээр мэдээллийг хадгалдаг jsonlog шинэ бүртгэлийн формат нэмэгдсэн.
  • Администратор нь PostgreSQL серверийн тохиргооны зарим параметрүүдийг өөрчлөх хувь хүний ​​эрхийг хэрэглэгчдэд шилжүүлэх чадвартай.
  • Psql хэрэгсэл нь "\dconfig" командыг ашиглан тохиргооны талаарх мэдээллийг (pg_settings) хайх дэмжлэгийг нэмсэн.
  • Серверийн үйл ажиллагааны талаархи статистик мэдээллийг хуримтлуулахын тулд хуваалцсан санах ойн хэрэглээг хангадаг бөгөөд энэ нь статистик мэдээлэл цуглуулах, төлөвийг диск рүү үе үе дахин тохируулах процессоос ангижрах боломжийг олгодог.
  • ICU-ийн анхдагч хэлний "ICU Collation"-ийг ашиглах боломжийг олгосон; өмнө нь зөвхөн libc хэлийг анхдагч хэлээр ашиглаж болно.
  • Суурилуулсан pg_walinspect өргөтгөлийг санал болгосон бөгөөд энэ нь SQL асуулга ашиглан WAL бүртгэлтэй файлуудын агуулгыг шалгах боломжийг олгодог.
  • Нийтийн схемийн хувьд мэдээллийн бааз эзэмшигчээс бусад бүх хэрэглэгчид CREATE командыг гүйцэтгэх эрхээ цуцалсан.
  • PL/Python-д Python 2-ын дэмжлэгийг хассан. Хуучирсан онцгой нөөцлөх горимыг устгасан.

Нэмэлт: 19:00-20:00 (MSK) хооронд Павел Лузанов (Postgres Professional) -тай шинэ хувилбарын өөрчлөлтийн талаар ярилцах вэбинар болно. Нэвтрүүлэгт хамрагдах боломжгүй хүмүүсийн хувьд PGConf.Russia сайтад Павелийн 15-р сард хийсэн "PostgreSQL XNUMX: MERGE ба түүнээс дээш" тайлангийн бичлэг нээлттэй байна.

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

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