Sau một năm phát triển nhánh ổn định mới của PostgreSQL 12 DBMS Cập nhật cho nhánh mới. trong 2024 năm cho đến tháng XNUMX năm XNUMX.
Chính :
- Đã thêm hỗ trợ cho "", giá trị của nó được tính dựa trên biểu thức bao gồm các giá trị của các cột khác trong cùng một bảng (tương tự như dạng xem, nhưng đối với các cột riêng lẻ). Các cột được tạo có thể có hai loại - được lưu trữ và ảo. Trong trường hợp đầu tiên, giá trị được tính tại thời điểm dữ liệu được thêm hoặc thay đổi và trong trường hợp thứ hai, giá trị được tính trên mỗi lần đọc dựa trên trạng thái hiện tại của các cột khác. Hiện tại, PostgreSQL chỉ hỗ trợ các cột được lưu trữ;
- Đã thêm khả năng truy vấn dữ liệu từ các tài liệu JSON bằng cách sử dụng , làm nhớ lại và được định nghĩa trong tiêu chuẩn SQL/JSON. Các cơ chế lập chỉ mục hiện có được sử dụng để nâng cao hiệu quả xử lý các biểu thức đó cho các tài liệu được lưu trữ ở định dạng JSONB;
- Được bật theo mặc định là việc sử dụng trình biên dịch JIT (Just-in-Time) dựa trên sự phát triển LLVM để tăng tốc độ thực thi một số biểu thức trong quá trình xử lý truy vấn SQL. Ví dụ: JIT được sử dụng để tăng tốc độ thực thi các biểu thức bên trong các khối WHERE, danh sách đích, biểu thức tổng hợp và một số thao tác nội bộ;
- Hiệu suất lập chỉ mục đã được cải thiện đáng kể. Các chỉ mục cây B được tối ưu hóa để hoạt động trong các môi trường nơi các chỉ mục thay đổi thường xuyên - các thử nghiệm TPC-C cho thấy hiệu suất tổng thể tăng lên và mức tiêu thụ dung lượng ổ đĩa giảm trung bình 40%. Giảm chi phí khi tạo nhật ký ghi trước (WAL) cho các loại chỉ mục GiST, GIN và SP-GiST. Đối với GiST, khả năng tạo chỉ mục trình bao bọc (thông qua biểu thức INCLUDE) bao gồm các cột bổ sung đã được thêm vào. Đi vào hoạt động Cung cấp hỗ trợ cho thống kê Giá trị chung nhất (MCV) để tạo các kế hoạch truy vấn tối ưu hơn khi sử dụng các cột được phân bổ không đồng đều;
- Việc triển khai phân vùng được tối ưu hóa cho các truy vấn trải rộng trên các bảng có hàng nghìn phân vùng nhưng bị giới hạn trong việc chọn một tập hợp con dữ liệu có giới hạn. Hiệu suất thêm dữ liệu vào các bảng được phân vùng bằng thao tác INSERT và COPY đã được tăng lên và cũng có thể thêm các phần mới thông qua “ALTER TABLE ATTACH PARTITION” mà không chặn việc thực thi truy vấn;
- Đã thêm hỗ trợ để tự động mở rộng nội tuyến các biểu thức bảng tổng quát (, CTE) cho phép sử dụng các tập kết quả được đặt tên tạm thời được chỉ định bằng câu lệnh WITH. Triển khai nội tuyến có thể cải thiện hiệu suất của hầu hết các truy vấn nhưng hiện chỉ được sử dụng cho các CTE không đệ quy;
- Đã thêm hỗ trợ thuộc tính của miền địa phương “Đối chiếu”, cho phép bạn đặt quy tắc sắp xếp và phương thức khớp có tính đến ý nghĩa của các ký tự (ví dụ: khi sắp xếp các giá trị kỹ thuật số, sự hiện diện của dấu trừ và dấu chấm ở phía trước một số và các loại khác nhau tính đến chính tả và khi so sánh không tính đến trường hợp ký tự và sự hiện diện của dấu trọng âm);
- Đã thêm hỗ trợ cho xác thực ứng dụng khách đa yếu tố, trong đó trong pg_hba.conf bạn có thể kết hợp xác thực chứng chỉ SSL (clientcert=verify-full) với phương thức xác thực bổ sung như scram-sha-256 để xác thực;
- Đã thêm hỗ trợ mã hóa kênh liên lạc khi xác thực qua , cả ở phía máy khách và phía máy chủ;
- Đã thêm hỗ trợ để xác định máy chủ LDAP dựa trên bản ghi “DNS SRV” nếu PostgreSQL được xây dựng bằng OpenLDAP;
- Đã thêm thao tác "» để xây dựng lại các chỉ mục mà không chặn các thao tác ghi vào chỉ mục;
- Đã thêm lệnh , cho phép bạn bật hoặc tắt tính năng kiểm tra tổng kiểm tra các trang dữ liệu đối với cơ sở dữ liệu hiện có (trước đây thao tác này chỉ được hỗ trợ trong quá trình khởi tạo cơ sở dữ liệu);
- Cung cấp đầu ra của chỉ báo tiến trình cho các hoạt động TẠO CHỈ SỐ, REINDEX, CLUSTER, VACUUM FULL và pg_checksums;
- Đã thêm lệnh "» để kết nối các trình xử lý cho các phương pháp lưu trữ bảng mới được tối ưu hóa cho các tác vụ cụ thể khác nhau. Hiện tại phương thức truy cập bảng tích hợp duy nhất là "heap";
- Tệp cấu hình recovery.conf đã được hợp nhất với postgresql.conf. Là dấu hiệu cho thấy sự chuyển đổi sang trạng thái phục hồi sau thất bại, lúc này sử dụng các tập tin recovery.signal và Standby.signal.
Nguồn: opennet.ru
