Ngày phát hành:2024-05-09
Bản phát hành này chứa nhiều bản sửa lỗi từ 16.2. Để biết thông tin về kèo bóng đá c1 tính năng mới trong phát hành chính 16, xemPhần E.10.
kèo bóng đá c1 cần thiết phải kết xuất/khôi phục cho những người chạy 16.x.
Tuy nhiên, một lỗ hổng bảo mật đã được tìm thấy trong kèo bóng đá c1 chế độ xem hệ thốngPG_STATS_EXT
6437_6444PG_STATS_EXT_EXPRS
, có khả năng cho phép người dùng cơ sở dữ liệu được xác thực xem dữ liệu mà họ không nên. Nếu điều này là mối quan tâm trong cài đặt của bạn, hãy làm theo kèo bóng đá c1 bước trong mục thay đổi đầu tiên bên dưới để khắc phục nó.
Ngoài ra, nếu bạn đang nâng cấp từ phiên bản sớm hơn 16.2, xemPhần E.8.
Hạn chế khả năng hiển thị củaPG_STATS_EXT
vàPG_STATS_EXT_EXPRS
Mục nhập vào chủ sở hữu bảng (Nathan Bossart)§
Những chế độ xem này không thể ẩn số liệu thống kê cho kèo bóng đá c1 biểu thức liên quan đến kèo bóng đá c1 cột mà người dùng truy cập không có quyền đọc. Xem kèo bóng đá c1 cột nhưmest_common_vals
có thể hiển thị dữ liệu liên quan đến bảo mật. kèo bóng đá c1 tương tác tiềm năng ở đây không hoàn toàn rõ ràng, vì vậy vì lợi ích của việc sai lầm về phía an toàn, hãy tạo kèo bóng đá c1 hàng trong kèo bóng đá c1 chế độ xem này chỉ hiển thị cho chủ sở hữu của bảng liên kết.
ThePOSTGRESQLDự án cảm ơn Lukas Fittl đã báo cáo vấn đề này. (CVE-2024-4317)
Bản thân bản sửa lỗi này sẽ chỉ khắc phục hành vi trong kèo bóng đá c1 cụm cơ sở dữ liệu mới ra mắt. Nếu bạn muốn áp dụng thay đổi này trong một cụm hiện có, bạn sẽ cần phải làm như sau:
Tìm tập lệnh SQLFIX-CVE-2024-4317.SQL
kèo bóng đá c1chia sẻ
Thư mục củaPostgreSQLCài đặt (thường được đặt ở một nơi nào đó như/usr/share/postgresql/
). Hãy chắc chắn sử dụng tập lệnh phù hợp với của bạnPostgreSQLPhiên bản chính. Nếu bạn kèo bóng đá c1 thấy tệp này, phiên bản của bạn kèo bóng đá c1 dễ bị tổn thương (chỉ có V14, V16 bị ảnh hưởng) hoặc phiên bản nhỏ của bạn quá cũ để sửa lỗi.
inmỗiCơ sở dữ liệu của cụm, chạyFIX-CVE-2024-4317.SQL
tập lệnh dưới dạng Superuser. kèo bóng đá c1PSQLĐiều này trông giống như
\ i /usr/share/postgresql/fix-cve-2024-4317.sql
(Điều chỉnh đường dẫn tệp khi thích hợp). Bất kỳ lỗi nào cũng có thể chỉ ra rằng bạn đã sử dụng phiên bản tập lệnh sai. Sẽ kèo bóng đá c1 đau khi chạy kịch bản nhiều lần.
Đừng quên bao gồmTemplate0
vàTemplate1
Cơ sở dữ liệu hoặc lỗ hổng vẫn sẽ tồn tại kèo bóng đá c1 cơ sở dữ liệu bạn tạo sau này. Để sửa chữaTemplate0
, bạn sẽ cần tạm thời làm cho nó chấp nhận kết nối. Làm điều đó với
9931_9988
và sau đó sau khi sửa chữaTemplate0
, hoàn tác nó với
Thay đổi Template cơ sở dữ liệu0 với allow_connections Sai;
sửaChèn
từ nhiềuGiá trị
Hàng vào cột đích là miền trên một mảng hoặc loại tổng hợp (Tom Lane)§
kèo bóng đá c1 trường hợp như vậy sẽ thất bại với những khiếu nại đáng ngạc nhiên về kèo bóng đá c1 kiểu dữ liệu không khớp hoặc chèn kèo bóng đá c1 cưỡng chế bất ngờ có thể dẫn đến kết quả lẻ.
Yêu cầuChọn
Đặc quyền trên bảng đích choHợp nhất
với Akèo bóng đá c1 làm gì
mệnh đề (Álvaro Herrera)§
Chọn
Đặc quyền sẽ được yêu cầu trong tất cả kèo bóng đá c1 trường hợp thực tế, nhưng yêu cầu nó ngay cả khi truy vấn không có cột nào của bảng đích. Điều này tránh một trường hợp cạnh trong đóHợp nhất
Sẽ kèo bóng đá c1 yêu cầu bất cứ đặc quyền nào, có vẻ kèo bóng đá c1 mong muốn ngay cả khi đó là một lệnh kèo bóng đá c1 làm gì.
Khắc phục việc xử lý kèo bóng đá c1 bộ dữ liệu tự sửa đổi trongHợp nhất
(Dean Rasheed)§
ném lỗi nếu hàng mục tiêu nối với nhiều hàng nguồn, theo yêu cầu của tiêu chuẩn SQL. .trước
Trigger hoặc chức năng dễ bay hơi được sử dụng kèo bóng đá c1 truy vấn.
Khắc phục sự cắt tỉa kèo bóng đá c1 chính xác của phân vùng null khi một bảng được phân vùng trên cột boolean và truy vấn có booleankèo bóng đá c1 phải
mệnh đề (David Rowley)§
12372_12414
, vì vậy hãy cắt bỏ một phân vùng có chứa null mang lại câu trả lời kèo bóng đá c1 chính xác.Boolcol
kèo bóng đá c1 sai
làm12665_12697
Di chuyển bất kỳ chuỗi nào thuộc sở hữu vào lược đồ mới (Tom Lane)§
Di chuyển một bảng thông thường sang lược đồ mới khiến bất kỳ chuỗi nào thuộc sở hữu của bảng cũng được chuyển sang lược đồ đó (cùng với kèo bóng đá c1 chỉ mục và ràng buộc). Tuy nhiên, điều này đã bị bỏ qua đối với kèo bóng đá c1 bảng nước ngoài.
làmBảng thay đổi ... Thêm cột
Tạo kèo bóng đá c1 chuỗi danh tính/nối tiếp với sự tồn tại tương tự như kèo bóng đá c1 bảng sở hữu của chúng (Peter Eisentraut)§
Tạo bảng kèo bóng đá c1 bao gồm
cũng sẽ làm cho bất kỳ chuỗi nào được sở hữu quá.BẢNG ALTER
bỏ lỡ sự cân nhắc đó, để một cột nhận dạng được thêm vào sẽ có một chuỗi được ghi lại, dường như vô nghĩa.
Cải thiệnBảng thay đổi ... thay đổi loại cột
của thông báo lỗi khi có chức năng hoặc xuất bản phụ thuộc (Tom Lane)§ §
inTạo cơ sở dữ liệu
14078_14179§
sửaGiải thích
14352_14430§
Trước đây, kèo bóng đá c1 trang HEAP không có bộ dữ liệu có thể nhìn thấy được không được tính; nhưng có vẻ phù hợp hơn khi đếm tất cả kèo bóng đá c1 trang được trả về bằng cách quét chỉ mục bitmap.
sửaGiải thích
S đầu ra cho kèo bóng đá c1 mẫu con trongHợp nhất
(Dean Rasheed)§
Giải thích
Đôi khi sẽ không hiển thị đúng kèo bóng đá c1 thông số con tham chiếu kèo bóng đá c1 biến tham chiếu trong kèo bóng đá c1 phần khác của cây kế hoạch.
Tránh bế tắc trong khi loại bỏ kèo bóng đá c1 bảng tạm thời mồ côi (Mikhail Zhilin)§
Nếu phiên tạo ra một bảng tạm thời gặp sự cố mà kèo bóng đá c1 cần tháo bảng, Autovacuum cuối cùng sẽ cố gắng loại bỏ bảng mồ côi. Tuy nhiên, một phiên đến được chỉ định cùng một kèo bóng đá c1 gian tên tạm thời cũng sẽ làm điều đó. Nếu một bảng tạm thời có một sự phụ thuộc (chẳng hạn như một chuỗi được sở hữu) thì một bế tắc có thể dẫn đến giữa hai nỗ lực dọn dẹp này.
Khắc phục cập nhật trạng thái bản đồ hiển thị kèo bóng đá c1Nút hút
vớivô hiệu hóa_page_skipping
Tùy chọn (Heikki Linnakangas)§
Do sự giám sát, chế độ này khiến tất cả kèo bóng đá c1 trang đống bị bẩn, dẫn đến I/O vượt quá. Ngoài ra, kèo bóng đá c1 bit bản đồ hiển thị được đặt không chính xác sẽ không bị xóa.
16234_16317§
Nút hút
16441_16586VACUUM
.
Khắc phục báo cáo sử dụng bộ đệm để hút bụi song song (Anthonin Bonnefoy)§
Truy cập bộ đệm được thực hiện bởi kèo bóng đá c1 công nhân song song đã không được tính trong kèo bóng đá c1 số liệu thống kê được báo cáo trongVerbose
chế độ.
Đảm bảo rằng kèo bóng đá c1 điều kiện tham gia được tạo từ kèo bóng đá c1 lớp tương đương được áp dụng ở cấp kế hoạch chính xác (Tom Lane)§
kèo bóng đá c1 phiên bản trướcPostgreSQL16, có thể kèo bóng đá c1 điều kiện được tạo ra được đánh giá bên dưới kèo bóng đá c1 lần nối bên ngoài khi chúng nên được đánh giá ở trên (sau) tham gia bên ngoài, dẫn đến kết quả truy vấn không chính xác. Tất cả kèo bóng đá c1 phiên bản đều có mối nguy hiểm tương tự khi xem xét tham gia vớiLiên minh tất cả
Cây có đầu ra kèo bóng đá c1 đổi cho cột nối trong một sốChọn
ARMS.
sửakèo bóng đá c1 thể tìm thấy mục Pathkey để sắp xếplỗi xảy ra trong khi lập kế hoạch tổng hợp kèo bóng đá c1 chức năng vớiĐặt hàng bởi
hoặckhác biệt
Tùy chọn (David Rowley)§
18099_18188
Ngăn chặn tối ưu hóa khả năng tối ưu hóa của một số chức năng cửa sổ (David Rowley)§
vô hiệu hóaĐiều kiện chạyTối ưu hóantile ()
18553_18560Count ()
với kèo bóng đá c1 đối số không liên tục. Điều này tránh được hành vi sai trái có thể với kèo bóng đá c1 lựa chọn phụ, thường dẫn đến kèo bóng đá c1 lỗi nhưHồiWindowFunc kèo bóng đá c1 tìm thấy trong danh sách mục tiêu của SubplanHồi.
18872_18971§
Khi một tổng hợp đơn giản được sử dụng làm hàm cửa sổ và khởi động khung cửa sổ được chỉ định làkèo bóng đá c1 bị ràng buộc trước
19204_19405
19465_19557§
Điều này thường sẽ kết thúc bằng một sự cố hoặc thông báo lỗi kèo bóng đá c1 mong muốn.
Tránh giải phóng dữ liệu vẫn sử dụng kèo bóng đá c1 Ghi nhớ (Tender Wang, Andrei Lepikhov)§
Trong sản xuất xây dựng lỗi này thường kèo bóng đá c1 gây ra bất kỳ vấn đề nào, vì dữ liệu được giải phóng rất có thể sẽ kèo bóng đá c1 bị ghi đè trước khi nó được sử dụng.
Sửa kèo bóng đá c1 mã loại thống kê được báo cáo không chính xác trongThống kê được yêu cầux
chưa được xây dựngThông báo lỗi (David Rowley)§
Sử dụng bảng băm thay vì tìm kiếm tuyến tính choDanh sách CatcacheĐối tượng (Tom Lane)§
Thay đổi này giải quyết kèo bóng đá c1 vấn đề về hiệu suất đã được báo cáo cho kèo bóng đá c1 hoạt động nhất định trong cài đặt với hàng ngàn vai trò.
Hãy cẩn thận hơn vớiRecord
-returning Chức năng kèo bóng đá c1từ
(Tom Lane)§ §
kèo bóng đá c1 cột đầu ra của cuộc gọi chức năng đó phải được xác định bởiAS
mệnh đề chỉ định tên cột và kiểu dữ liệu. Nếu giá trị đầu ra chức năng thực tế không khớp với điều đó, một lỗi được cho là bị ném vào thời gian chạy. Tuy nhiên, một số đường dẫn mã sẽ kiểm tra giá trị thực tế sớm và có khả năng đưa ra kèo bóng đá c1 lỗi lạ hoặc bị lỗi xác nhận nếu nó không phù hợp với kỳ vọng.
Khắc phục sự nhầm lẫn về hàng trở lại của kèo bóng đá c1 quy trình ngôn ngữ SQL (Tom Lane)§
Một thủ tục được thực hiện bằng ngôn ngữ SQL trả về một cột loại tổng hợp duy nhất sẽ gây ra lỗi xác nhận hoặc kết xuất lõi.
Thêm kiểm tra độ sâu ngăn xếp bảo vệ vào một số chức năng đệ quy (Egor Chindyaskin)§
Khắc phục kèo bóng đá c1 mối nguy hiểm và tràn sai trongdate_bin ()
(Moaaz Assali)§
Trong trường hợp dấu thời gian nguồn trước khi dấu thời gian gốc và sự khác biệt của chúng đã là bội số chính xác của sải chân, mã đã trừ kèo bóng đá c1 chính xác sải bước. Ngoài ra, phát hiện một số trường hợp dòng nguyên số nguyên sẽ tạo ra kết quả kèo bóng đá c1 chính xác.
Phát hiện tràn số nguyên khi thêm hoặc trừ mộtKhoảng
đến/từ ADấu thời gian
(Joseph Koshakow)§
Một số trường hợp sẽ gây ra lỗi ngoài phạm vi tạo ra kết quả kèo bóng đá c1 chính xác.
Tránh điều kiện chủng tộc kèo bóng đá c1PG_GET_EXPR ()
(Tom Lane)§
Nếu mối quan hệ được tham chiếu bởi đối số bị loại bỏ đồng thời, ý định của chức năng là trả về NULL, nhưng đôi khi nó thất bại thay thế.
Khắc phục việc phát hiện ID giao dịch cũ trong kèo bóng đá c1 chức năng trạng thái XID (Karina Litskevich)§
ID giao dịch nhiều hơn 23123767_23855pg_xact_status ()
hoặctxid_status ()
.
Đảm bảo rằng bản đồ kèo bóng đá c1 gian tự do của bảng sẽ kèo bóng đá c1 trả lại một trang qua cuối bảng (Ronan Dunklau)§
Bởi vì bản đồ không gian tự do không được ghi lại, điều này có thể xảy ra trong kèo bóng đá c1 trường hợp cạnh liên quan đến sự cố hệ điều hành, một bản sao quảng bá hoặc khôi phục pitr. Kết quả sẽ làkèo bóng đá c1 thể đọc khốixôngLỗi.
Khắc phục sự rò rỉ mô tả tệp khi bị lỗi kèo bóng đá c1 khi chờ đợi kèo bóng đá c1Waiteventsetwait
(Etsuro Fujita)§
24776_24944§
ném lỗi nếu một chỉ mục được truy cập kèo bóng đá c1 khi nó đang được tái hiện (Tom Lane)§
Trước đây đây chỉ là một kiểm tra xác nhận, nhưng quảng bá nó thành một lỗi thời gian chạy thường xuyên. Điều này sẽ cung cấp thông báo lỗi tại điểm hơn khi tái xuất hiện biểu thức chỉ mục do người dùng xác định cố gắng truy cập vào bảng của chính mình.
Đảm bảo rằng kèo bóng đá c1 lần quét chỉ có chỉ mục trêntên
Cột trả về giá trị hoàn toàn (David Rowley)§
Giá trị được lưu trữ vật lý trong chỉ mục bị cắt cụt và trước đây một con trỏ đến giá trị đó đã được trả lại cho người gọi. Điều này gây ra kèo bóng đá c1 khiếu nại khi thử nghiệm theo Valgrind. Về lý thuyết, nó có thể dẫn đến sự cố, mặc dù không có báo cáo nào.
Khắc phục điều kiện cuộc đua có thể dẫn đến việc báo cáo một nguyên nhân xung đột kèo bóng đá c1 chính xác khi vô hiệu hóa một khe sao§
26308_26417§
Một sự kiện kèo bóng đá c1 hợp lệ đến trong khi người đăng ký xác định bảng nào cần được đồng bộ hóa sẽ bị lãng quên, do đó, bất kỳ bảng nào mới cần đồng bộ hóa có thể kèo bóng đá c1 được xử lý một cách kịp thời.
Khắc phục sự cố với phân bổ DSM lớn hơn 4GB (Heikki Linnakangas)§
26977_27088§
Về mặt lý thuyết, chúng tôi đã có thể hoạt động với một ổ cắm ở chế độ chặn; Nhưng điều đó đã kèo bóng đá c1 hoạt động đầy đủ trong một thời gian dài, vì vậy thất bại khi kết nối bắt đầu thay vì sai sau này.
Khắc phục báo cáo lỗi kèo bóng đá c1 đầy đủ vớiOpenSSL3.0.0 trở lên (Heikki Linnakangas, Tom Lane)§
kèo bóng đá c1 lỗi được báo cáo hệ thống được truyền qua bởi OpenSSL đã được báo cáo với mã lỗi số thay vì bất cứ thứ gì có thể đọc được.
Khắc phục Thread-Safety of Lỗi Báo cáo chogetAddrinfo ()
Trên Windows (Thomas Munro)§
A MULTI-THREADEDlibpqChương trình máy khách có thể nhận được thông báo lỗi kèo bóng đá c1 chính xác hoặc bị hỏng sau khi lỗi tra cứu mạng.
Tránh kèo bóng đá c1 cuộc gọi đồng thời đếnBindtextdomain ()
inlibpqvàECPGLIB(Tom Lane)§ §
Mặc dù GNUGetText28633_28733
Khắc phục sự cố kèo bóng đá c1ECPGBộ tiền xử lý nếu chương trình cố gắng xác định lại một macro được xác định trên dòng lệnh tiền xử lý (Tom Lane)§ § §
inECPG, Tránh phát hành saiTính năng kèo bóng đá c1 được hỗ trợ sẽ được chuyển đến máy chủ”cảnh báo (Tom Lane)§
Đảm bảo rằng kết quả chuỗi củaECPG'Sinasc ()
hàm chính xác là kèo bóng đá c1 kết thúc (oleg tselebrovskiy)§
ininitDB'S-C
29944_30007§
Máy chủ xử lý kèo bóng đá c1 tên tham số Case-Incal, vì vậy mã này cũng vậy. Điều này tránh đặt kèo bóng đá c1 mục dự phòng vào được tạoPostgreSql.conf
Tệp.
inPSQL, Tránh rò rỉ kết quả truy vấn sau khi truy vấn bị hủy (Tom Lane)§
Điều này chỉ xảy ra khi hủy truy vấn kèo bóng đá c1 last trong chuỗi truy vấn được thực hiện bằng\;
Dấu tách.
sửaPG_DUMPALLVì vậy, vai trò đó nhận xét, nếu có, sẽ được bỏ qua bất kể cài đặt của-kèo bóng đá c1 có rolle-passwords
(Daniel Gustafsson, Álvaro Herrera)§
Bỏ qua kèo bóng đá c1 tệp có tên.ds_store
inpg_basebackup, pg_checksumsvàPG_REWIND(Daniel Gustafsson)§
Điều này tránh kèo bóng đá c1 vấn đề trên macOS, trong đó người tìm có thể tạo kèo bóng đá c1 tệp đó.
sửaPL/PGSQL'Phân tích kèo bóng đá c1 bình luận dòng đơn (--
-Style nhận xét) sau biểu thức (Erik Wienkeep, Tom Lane)§
Sai lầm này gây ra lỗi phân tích cú pháp nếu một bình luận đó theoKhi
Biểu thức kèo bóng đá c1 APL/PGSQL case
câu lệnh.
inPREDT/AMCHECK
, Đừng báo cáo kèo bóng đá c1 lỗi đối sánh sai do kèo bóng đá c1 giá trị ngắn so với tiêu đề dài (Andrey Borodin, Michael Zhilin)§ §
Một mốc thời gian thay đổi trong một tuple hoặc chỉ mục có thể có một tiêu đề ngắn hoặc dài, tùy thuộc vào kèo bóng đá c1 tham số nén được áp dụng khi nó được thực hiện. Coi những trường hợp này là tương đương thay vì phàn nàn nếu có sự khác biệt.
Khắc phục lỗi trong kèo bóng đá c1 chức năng đầu ra của Brin (Tomas Vondra)§ §
kèo bóng đá c1 chức năng đầu ra này chỉ được sử dụng để hiển thị kèo bóng đá c1 mục nhập chỉ mục trongPREDT/PAGEINSPECT
, Vì vậy, kèo bóng đá c1 lỗi là mối quan tâm thực tế hạn chế.
in33150_33172
, Tránh phát ra kèo bóng đá c1 yêu cầu sắp xếp theo hằng số (David Rowley)§
Điều này có thể xảy ra trong kèo bóng đá c1 trường hợp liên quan đếnLiên minh tất cả
với kèo bóng đá c1 nhóm phụ không đổi. Tất nhiên việc sắp xếp theo một hằng số là vô dụng, nhưng nó cũng có nguy cơ bị giải thích sai bởi máy chủ từ xa, dẫn đếnĐơn hàng theo vị trín
kèo bóng đá c1 có trong danh sách chọnlỗi.
làm33794_33816
Đặt múi giờ của phiên từ xa thànhGMT
kèo bóng đá c1UTC
(Tom Lane)§
Điều này nên có kết quả tương tự cho kèo bóng đá c1 mục đích thực tế. Tuy nhiên,GMT
được nhận dạng bởi mã có dây cứng kèo bóng đá c1 máy chủ, kèo bóng đá c1 khiUTC
được tra cứu trong cơ sở dữ liệu timezone. Vì vậy, mã cũ có thể thất bại trong sự kiện không thể xảy ra rằng cơ sở dữ liệu múi giờ của máy chủ từ xa bị thiếu kèo bóng đá c1 mục.
inPREDT/XML2
, Tránh sử dụng kèo bóng đá c1 chức năng thư viện đã được không phản đối trong kèo bóng đá c1 phiên bản gần đây củalibxml2(Dmitry Koval)§
34748_34813§
cho phépLàm cho kiểm tra
để làm việc vớiMUSLC Thư viện (Thomas Munro, Bruce Momjian, Tom Lane)§
Nếu bạn thấy bất cứ điều gì trong tài liệu kèo bóng đá c1 chính xác, kèo bóng đá c1 khớp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài liệu.