출시 날짜 :2023-08-10
이 토토 캔에는 13.11의 다양한 수정 사항이 포함되어 있습니다. Major Release 13의 새로운 기능에 대한 정보는 참조섹션 E.21.
13.x.를 실행하는 사람들에게는 덤프/복원이 필요하지 않습니다.
그러나 Brin Indexes를 사용하는 경우 다시 표시하는 것이 좋습니다. 아래 두 번째 ChangeLog 항목을 참조하십시오.
또한 13.7 이전 버전에서 업그레이드하는 경우 참조섹션 E.14.
이름에 이름에 견적, 백 슬래시 또는 달러 표시 (Noah Misch)가 포함 된 경우 스키마 또는 소유자 이름을 확장 스크립트로 대체하지 못하게합니다.§
신뢰할 수있는 확장에 대한 SQL 주입 위험에 대한이 제한 경비병.
the토토 캔프로젝트 감사합니다 Micah Gates, Valerie Woolard, Tim Carey-Smith 및 Christoph Berg 가이 문제를보고했습니다. (CVE-2023-39417)
브린 인덱스에서 빈 범위와 모든 널 범위 사이의 빈 (줄 없음) 범위 사이의 혼란과 모든 널 요약 (Tomas Vondra)의 잘못된 병합§ §
이러한 감독 각각은 브린 색인 범위에 널 값이 포함되어 있다는 사실을 잊어 버릴 수 있습니다.
이 수정 자체는 그 자체로 정확한 결함이있는 브린 항목이 아닙니다. 추천Reindex
널 검색에 사용될 수있는 브린 인덱스.
언제 손상된 데이터베이스를 남기지 마십시오DROP DATABASE
중단되었습니다 (Andres Freund)§
ifDROP DATABASE
이미 돌이킬 수없는 단계를 찍기 시작한 후 중단되었으므로 대상 데이터베이스는 액세스 할 수있었습니다 (pg_database
행은 롤백 될 것입니다). 돌이킬 수없는 작업을 수행하기 전에 데이터베이스를 액세스 할 수없는 것으로 표시하여 수정하십시오.DROP DATABASE
.
파티션 된 인덱스가 유효한 것으로 표시되거나 제작시 유효하지 않은지 확인하십시오 (Michael Paquier)§
새로운 파티션 된 인덱스가 파티션 중 하나에 기존이지만 유효하지 않은 인덱스와 일치하면 파티션 된 인덱스가 유효한 조기에 표시 될 수 있습니다. 이로 인해 분할 된 테이블의 후속 쿼리에서 오작동 또는 주장 실패가 발생할 수 있습니다.
파티션 된 인덱스와 일치시 어린이 색인을 일치시킬 때 유효하지 않은 아동 지수를 무시합니다ALTER 테이블 첨부 파티션
(Michael Paquier)§
그러한 지수는 이제 무시되고 새로운 자식 지수가 대신 생성됩니다.
모든 파티션이 첨부 된 후 유효한 분할 된 인덱스를 표시 할 때 가능한 실패 수정 (Michael Paquier)§
인덱스의 업데이트pg_index
Entry는 다른 열에 오래된 데이터를 사용할 수 있습니다. 보고 된 증상 중 하나는입니다.“보이지 않는 튜플 업데이트”오류.
수정Alter Extension Set Schema
확장자 스키마 외부의 객체가 포함되어 있는지 불만을 제기합니다 (Michael Paquier, Heikki Linnakangas)§
확장자에 여러 스키마에 객체가 포함되어 있는지 오류가 발생했습니다. 그러나 수표는 일부 사례를 감지하지 못하여 놀라운 행동을 초래할 수 있도록 잘못 코딩되었습니다.
플래너 (David Rowley)의 독창성 증거에 부분적 고유 인덱스를 사용하지 마십시오§
문제의 인덱스가 테이블을 스캔하는 데 사용되지 않으면 테이블에서 읽은 행의 고유성이 테이블에서 읽히지 않을 수 있으므로 잘못된 계획을 일으킬 수 있습니다..
의사가있는 외국인 조인 조인 조항 (Etsuro Fujita)과의 외국인 조인에 대한 잘못된 계획을 세우지 마십시오.§
플래너는 현재 유사 정체 조인 조항을 푸시 다운 원격 조인에 부착하는 것에 대한 지원이 부족하므로 그러한 경우 원격 조인의 생성을 비활성화합니다. (더 나은 솔루션은 플래너 데이터 구조의 abi-breaking 변경이 필요하므로 향후 주요 릴리스를 기다려야합니다.)
규칙 조치를 확장 할 때 RLS 정책 표현 및 보안 장벽보기에서 하위 선택을 올바르게 처리합니다 (Tom Lane)§
충돌 감지시 경주 조건 수정SERIALIZALE
격리 모드 (Thomas Munro)§ § §
비트 맵 힙 스캔을 사용할 때, GIN 인덱스를 사용할 때 및 초기에 비어있는 BTREE 인덱스를 검사 할 때 충돌을 놓칠 수 있습니다. 이러한 모든 사례는 상충되는 거래를 부적절하게 허용하여 일련의 실패로 이어질 수 있습니다.
해시 수정 해시 외부 중첩 루프 (Tom Lane)에서 오는 매개 변수가 포함 된 내부 해시 키와 결합합니다.§
그러한 매개 변수의 값이 변경된 후 조인을 구출 할 때 해시 테이블을 재 구축해야하지만 그렇게하지 않아야합니다. 이로 인해 결합 출력 행이 누락 될 수 있습니다.
복합 열 (Tom Lane)의 필드를 업데이트하려고 할 때 간헐적 실패 수정§
복합 열의 전체 값이 외부 토스트를 요구할 정도로 충분히 넓어지면 운이 좋지 않은 캐시 플러시로 인해 오류 또는 서버 충돌이 발생할 수 있습니다..
점진적인 정렬 계획 노드가 철회 될 때 쿼리 리포 스팬 메모리 누출 방지 (James Coleman, Laurenz Albe, Tom Lane)§
입력에서 분수 초를 허용JSONPATH
'sdateTime ()
메소드 (Tom Lane)§
매우 복잡한 텍스트 검색 패턴으로 스택 오버 플로우 충돌 방지§
최대 10240 바이트의 토큰 허용pg_hba.conf
andpg_ident.conf
(Tom Lane)§
이전 제한 256 바이트 한계는 일부 사용 사례에 불충분 한 것으로 밝혀졌습니다.
메모리 외 조건 (Heikki Linnakangas)의 C ++의 잘못 처리 수정§
JIT가 사용중인 경우 C ++에서 메모리가 부족한 경우NEW
전화는 A로 이어질 것입니다.토토 캔예상 C ++ 예외 대신 치명적인 오류.
희귀 널 포인터 충돌을 수정plancache.c
(Tom Lane)§
페이지가 노출되는 여유 공간 (Dongming Liu)§
세그먼트가 적절한 상태로 이동했는지 확인“bin”새로운 양의 여유 공간의 경우 후속 검색에서 찾을 수 있습니다.
허용진공
특정 유형의 B- 트리 지수 손상 (Peter Geoghegan)을 감지 한 후 계속하려면§ §
잘못된 형제 자매 링크가 감지되면 이전과 같이 오류를 던지지 말고 문제를 기록하고 눌러 있습니다.Reindex
깨진 인덱스를 수정하지만 방지진공
완료에서 그까지 끝날 때까지 문제가 훨씬 악화 될 위험이 있습니다.
Wraplimitsvacuumlock
이후에 토토 캔진공
잘못된 데이터 감지pg_database
.datfrozenxid
또는pg_database
.datminmxid
(Andres Freund)§
이 잠금을 해제하지 못하면 나중에 교착 상태로 이어질 수 있지만, 세션이 다른 오류를 종료하거나 만나면 잠금이 정리됩니다.
충돌 복구 중에 준비된 거래의 이중 재생을 피하십시오 (suyu.cmj, Michael Paquier)§ §
이 체크 포인트에 의해 이미 디스크로 플러시 된 일부 2 단계 트랜잭션 상태 데이터로 체크 포인트를 통해 충돌 파트 웨이 후, 충돌 복구는 준비된 트랜잭션을 두 번 재생하려고 시도하여와 같은 치명적인 오류로 이어질 수 있습니다.“잠금이 이미 유지되었습니다”시작 과정에서.
대기 서버를 홍보하는 동안 가능한 고장 수정, 아카이빙이 활성화되고 2 단계 트랜잭션을 복구 해야하는 경우 (Julian Markwort)§
필요한 2 단계 트랜잭션이 가장 최근 (부분) 로그 세그먼트에 기록 된 경우에 대한 잘못된 불만으로 프로모션이 실패합니다.“요청 된 WAL 세그먼트가 이미 제거되었습니다”.
새로 생성되었지만 여전히 빈 테이블이fsync
'다음 체크 포인트 (Heikki Linnakangas)에서§
이 없으면 빈 파일이 사라지는 운영 체제 충돌이있는 경우 테이블의 후속 작업이 실패 할 수 있습니다.“파일을 열 수 없음”오류.
unlogged 지수의 초기 포크 생성이 월경 (Heikki Linnakangas)인지 확인하십시오.§
무제한 인덱스의 기본 데이터 포크는 Wal-Logged가 아니지만 INT 포크는 충돌 후 인덱스를 복원 할 일관된 상태를 갖도록해야합니다. INIT FORK에 데이터가 포함되어 있지 않은 경우이 단계는 누락되었으며, 이는 표준 색인 AM에서 사용하지 않는 경우입니다.
지연 체크 포인트 엔드 플래그 (suyu.cmj)의 누락 된 재건 수정 수정§
이로 인해 체크 포인트의 불필요한 지연이 발생하거나 Assert 지원 빌드의 어설 션 실패가 발생할 수 있습니다.
지나치게 엄격한 주장 수정JSONPATH
코드 (David Rowley)§
쿼리가 적용되면이 주장이 실패했습니다.type ()
a 연산자Like_Regex
결과. 비 합산 빌드에는 버그가 없었습니다.
이미 거주 한 트랜잭션 (Tom Lane)에서 확장 쿼리 프로토콜을 통해 빈 문을 처리 할 때 어설 션 실패를 피하십시오.§
수정Contrib/fuzzystrmatch
's Soundex차이 ()
빈 입력을 처리하는 기능 (Alexander Lakhin, Tom Lane)§
알파벳 문자가없는 입력 문자열은 예측할 수없는 출력을 초래했습니다.
공백 체크인 조임Contrib/Hstore
입력 (Evan Jones)§
어떤 경우에는 캐릭터가 허위 공백으로 거짓으로 인식되어 폐기됩니다.
|Contrib/Intarray
'sgist__int_ops
INDEX OPCLASS (Ankit Kumar Pandey, Alexander Lakhin)§
이전 에이 코드는 a를보고합니다.통지
그러나 어쨌든 눌러 인덱스를 읽을 때 충돌의 위험을 나타내는 유효하지 않은 인덱스 항목을 만듭니다.
gist 인덱스 항목의 쓸모없는 이중 압축을 피하십시오Contrib/Intarray
(Konstantin Knizhnik, Matthias van de Meent, Tom Lane)§
pg_index
.무관심
관계 캐시 항목 (Shruthi Gowda)에서 최신 상태로 유지됩니다.§
어떤 경우에는이 값이 오래 될 수 있습니다. 관계 캐시의 사본에 의존하는 핵심 코드는 없으므로 Postgres 자체에 관한 한 잠재 버그 일뿐입니다.
OpenSSL 3.0.0 이상 (Peter Eisentraut)로 컴파일 할 때의 침묵 감가 상실 경고§