출시일: 2022-11-10
이 릴리스에는 10.22의 다양한 수정 사항이 포함되어 있습니다. 주요 릴리스 10의 새로운 기능에 대한 자세한 내용은 다음을 참조하세요.젠 토토 PostgreSQL : 문서 : 10 : E.24. 릴리스 10.
이것이 마지막이 될 것으로 예상됩니다.포스트그레SQL10.X 시리즈스포츠 토토 베트맨 출시되었습니다. 사용자는 곧 최신 릴리스 분기로 업데이트하는 것이 좋습니다.
10.X를 실행하는 경우 덤프/복원이 필요하지 않습니다.
그러나 10.19 이전 버전에서 업그레이드하는 경우 다음을 참조하세요.스포츠 토토 결과 PostgreSQL : 문서 : 10 : E.5. 릴리스 10.19.
수정진공btree 색인스포츠 토토 베트맨 페이지 삭제 시도가 페이지의 상위 다운링크를 찾지 못하는 경우 누르기(Peter Geoghegan)
오류를 발생시키기보다는 문제를 기록하고 빈 페이지를 삭제하지 않고 계속하세요. 이전에는 버그가 있는 연산자 클래스 또는 손상된 인덱스로 인해 인덱스 정리가 완료되지 않고 결국 트랜잭션 랩어라운드 문제가 발생할 수 있었습니다.
다음 처리 수정기본값여러 행에 나타나는 토큰값an의 절삽입업데이트 가능한 보기(Tom Lane)
이러한 감독으로 인해 다음이 발생할 수 있습니다.“유형에 대한 캐시 조회 실패”오류 또는 이전 브랜치에서도 충돌이 발생합니다.
이름이 지정된 규칙을 허용하지 않음_RETURN그렇지 않습니다선택 중(톰 레인)
이것은 보기 사이의 혼란을 방지합니다.선택 중규칙 및 여기에 있을 수 있는 기타 규칙.
상속된 업데이트스포츠 토토 베트맨 MULTIEXPR_SUBLINK 하위 계획의 드물게 실패하는 문제를 복구합니다(Tom Lane)
구문의 사용업데이트 탭 설정 (c1, ...) = (SELECT ...)상속되거나 분할된 대상 테이블이 있는 경우 하위 테이블이 충분히 다른 경우 오류가 발생할 수 있습니다. 이는 일반적으로 실행기의 일관성 검사 실패로 나타납니다. 하지만 충돌이나 잘못된 데이터 업데이트도 가능합니다.
평탄화 방지발신-외부 쿼리에 그룹화 집합이 있는 경우 하위 쿼리가 적음(Tom Lane)
이러한 감독은 어설션 실패 또는 다음과 같은 플래너 오류로 이어질 수 있습니다.“하위 계획 대상 목록스포츠 토토 베트맨 변수를 찾을 수 없음”.
대기 승격 후 WAL 손상 방지(Dilip Kumar, Robert Haas)
언제포스트그레SQL아카이브 복구를 수행하는 인스턴스(대기 모드를 사용하지 않음)가 승격되고 읽기를 시도한 마지막 WAL 세그먼트가 부분 레코드로 끝났습니다. 인스턴스는 새 타임라인에 유효하지 않은 WAL 세그먼트를 기록합니다.
GIN 인덱스의 빠른 삽입 경로에서 WAL 작업의 잘못된 순서 수정(Matthias van de Meent, Zhang Mingli)
이 실수는 코어 내스포츠 토토 베트맨 부정적인 결과를 가져오는 것으로 알려져 있지 않습니다.포스트그레SQL, 하지만 일부 확장 프로그램스포츠 토토 베트맨는 문제가 발생했습니다.
트랜잭션 시작과 하위 트랜잭션 시작 사이의 지점에서 재생이 시작될 때 논리적 디코딩 버그 수정 (사와다 마사히코, 쿠로다 하야토)
이러한 오류는 디버그 빌드스포츠 토토 베트맨 어설션 실패로 이어질 수 있으며 그렇지 않으면 메모리 누수로 이어질 수 있습니다.
논리적 디코딩 중 잘못된 스냅샷이 있는 시스템 카탈로그 검사 방지 (Masahiko Sawada)
디코딩이 시스템 카탈로그를 수정하는 트랜잭션 도중에 시작되면 디코더가 이를 인식하지 못하여 카탈로그 조회를 위해 해당 트랜잭션을 진행 중인 것으로 처리하지 못할 수 있습니다.
논리적 디코딩 중 더 많은 위치스포츠 토토 베트맨 인터럽트를 허용합니다(Amit Kapila, Masahiko Sawada)
이는 복제 작업자의 느린 종료 문제를 개선합니다.
복제 작업자의 함수 구문 오류 후 충돌 방지(Maxim Orlov, Anton Melnikov, Masahiko Sawada, Tom Lane)
SQL 언어 또는 PL/pgSQL 언어스포츠 토토 베트맨 구문 오류가 발생한 경우함수 생성또는DO명령이 논리적 복제 작업자에서 실행되면 작업자 프로세스는 널 포인터 역참조 또는 어설션 실패로 인해 충돌합니다.
SQL 함수에 전달된 읽기-쓰기 확장 데이텀 처리 문제 수정(Tom Lane)
인라인되지 않은 SQL 함수가 여러 위치에서 매개변수를 사용하고 해당 함수 중 하나가 해당 위치에서 읽기-쓰기 데이터를 수정할 수 있을 것으로 예상하는 경우 나중에 매개변수를 사용하면 잘못된 값이 관찰됩니다. (코어 내에서)포스트그레SQL, 확장 데이텀 메커니즘은 배열 및 복합 유형 값에만 사용됩니다. 하지만 확장 프로그램은 다른 구조화된 유형에 이를 사용할 수 있습니다.)
Snowball 사전스포츠 토토 베트맨는 지나치게 긴 단어를 줄이려고 하지 마십시오(Olly Betts, Tom Lane)
입력 단어가 1000바이트를 초과하는 경우 Snowball 코드를 통해 실행하려고 시도하는 대신 대소문자 구분 후 있는 그대로 반환합니다. 이 제한은 터키어 형태소 분석기의 알려진 재귀-스택 오버플로 문제로부터 보호하며 Snowball 형태소 분석기에 존재할 수 있는 다른 안전 또는 성능 문제에 대한 좋은 보험처럼 보입니다. 이렇게 긴 문자열은 인간 언어의 단어가 아니므로 어쨌거나 형태소 분석기가 이를 사용하여 바람직한 작업을 수행했을지는 의심스럽습니다.
문자열 비교에서 use-after-free 위험 수정(Tom Lane)
문자열 비교 기능의 부적절한 메모리 관리로 인해 더 이상 할당되지 않은 버퍼에 낙서가 발생하여 현재 해당 메모리를 사용하고 있는 모든 것이 잠재적으로 손상될 수 있습니다. 이는 상당히 긴 문자열(1kB 초과)과 ICU 대조가 사용 중인 경우에만 발생합니다.
공유 메모리 상태가 손상된 경우 포스트마스터 충돌 방지(Tom Lane)
포스트마스터 프로세스는 공유 메모리가 손상되면 생존하고 데이터베이스를 다시 시작해야 하지만 코드의 한 비트가 이에 대해 충분히 주의하지 않았습니다.
스택 오버런까지 재귀에 대한 방어 기능 추가(Richard Guo, Tom Lane)
autovacuum 실행기 프로세스스포츠 토토 베트맨 장기 메모리 누수 방지(Reid Thompson)
현장 보고서가 부족하다는 사실은 이 문제가 v15 이전 브랜치에만 잠재되어 있음을 시사합니다. 하지만 이유는 명확하지 않으므로 어쨌든 수정 사항을 백패치하세요.
다음에 대한 누락된 경비원 추가NULL연결 포인터 입력libpq(다니엘레 바라조, 톰 레인)
관례가 있습니다libpq함수는 NULL PGconn 인수를 확인하고 충돌하는 대신 정상적으로 실패해야 합니다.PQflush()그리고PQisnonblocking()그 메모를 받지 못했으니 수정하세요.
에ecpg, 변수 저장소 클래스가 여러 개일 때 누락되는 문제 수정varchar또는바이테아변수는 동일한 선언스포츠 토토 베트맨 선언됩니다(Andrey Sokolov)
예를 들어,ecpg번역됨정적 varchar str1[10], str2[20], str3[30];그런 식으로만str1표시됨정적.
다음에서 교차 플랫폼 테이블스페이스 재배치를 허용pg_basebackup(로버트 하스)
원격 경로 허용--테이블스페이스-매핑소스 서버가 로컬 시스템과 다른 OS에 있을 수 있으므로 Unix 스타일 또는 Windows 스타일 절대 경로입니다.
에pg_stat_statements, 이미 해제된 메모리에 대한 액세스 수정(zhaoqigui)
다음과 같은 경우에 발생했습니다.pg_stat_statements추적한롤백확장 쿼리 프로토콜을 통해 실행된 명령입니다. 디버그 빌드스포츠 토토 베트맨는 지속적으로 어설션 오류가 발생했습니다. 프로덕션 빌드스포츠 토토 베트맨는 눈에 띄는 부작용이 없는 경우가 많습니다. 그러나 해제된 메모리가 이미 재사용된 경우 쿼리 문자열에 대한 가비지가 저장될 가능성이 높습니다.
에postgres_fdw, EvalPlanQual 계획을 위해 구성된 대상 목록에 모든 필수 열이 있는지 확인하세요(Richard Guo, Etsuro Fujita)
이것은 방지합니다“하위 계획 대상 목록스포츠 토토 베트맨 변수를 찾을 수 없음”드물게 오류가 발생합니다.
플랫폼스포츠 토토 베트맨 원하지 않는 출력을 거부uuid_create()기능 (Nazir Bilal Yavuz)
그uuid-ossp모듈은 libc를 기대합니다uuid_create()버전 1 UUID를 생성하지만 최근 NetBSD 릴리스에서는 대신 버전 4(임의) UUID를 생성합니다. 확인해보시고, 그렇다면 항의하세요. NetBSD 구현을 사용할 수 있다는 문서의 주장을 삭제하세요.uuid-ossp. (버전 4 UUID가 귀하의 목적에 적합한 경우에는 필요하지 않습니다.uuid-ossp전혀; 그냥 사용하세요gen_random_uuid().)
표준 설치에 새로운 Perl 테스트 모듈 포함(Álvaro Herrera)
추가PostgreSQL/테스트/Cluster.pm그리고PostgreSQL/테스트/Utils.pm15 이전 버전 브랜치에 설정된 표준 설치 파일에 추가됩니다. 이는 이전 브랜치에서 새로 작성된 테스트 코드를 사용하려는 확장 프로그램을 위한 것입니다.
NetBSD스포츠 토토 베트맨는 포스트마스터 시작 시 동적 기호 확인을 강제합니다(Andres Freund, Tom Lane)
이것은 NetBSD 10의 동적 링커스포츠 토토 베트맨 교착 상태의 위험을 방지합니다.
사용 허용__sync_lock_test_and_set()모든 기계의 스핀록용(Tom Lane)
이것은 적어도 이 GCC 내장 기능을 지원하는 컴파일러를 사용하는 경우 새로운 기계 아키텍처로의 포팅을 용이하게 합니다.
기호 이름 바꾸기REF에REF_P최근 macOS스포츠 토토 베트맨 컴파일 실패를 방지하기 위해(Tom Lane)
clang 15 이상스포츠 토토 베트맨 다양한 컴파일러 경고 음소거(Tom Lane)
다음으로 시간대 데이터 파일 업데이트tzdata칠레, 피지, 이란, 요르단, 멕시코, 팔레스타인, 시리아의 DST 법률 변경 사항과 칠레, 크리미아, 이란, 멕시코의 역사적 수정 사항에 대해 2022f를 발표합니다.
또한 유럽/키예프 지역의 이름이 유럽/키예프로 변경되었습니다. 또한 다음 구역은 1970년 이후 시계가 일치하는 더 인구가 많은 인근 구역으로 병합되었습니다: 남극 대륙/보스토크, 아시아/브루나이, 아시아/쿠알라_룸푸르, 대서양/레이캬비크, 유럽/암스테르담, 유럽/코펜하겐, 유럽/룩셈부르크, 유럽/모나코, 유럽/오슬로, 유럽/스톡홀름, 인도/크리스마스, 인디언/코코스, 인디언/케르겔렌, 인디언/마헤, 인디언/리유니온, 퍼시픽/추크, 퍼시픽/푸나푸티, 퍼시픽/마주로, 퍼시픽/폰페이, 퍼시픽/웨이크 및 퍼시픽/월리스. (이는 이미 Arctic/Longyearbyen, Atlantic/Jan_Mayen, 아이슬란드, Pacific/Ponape, Pacific/Truk 및 Pacific/Yap 중 하나에 연결된 구역에 간접적으로 영향을 미칩니다.) America/Nipigon, America/Rainy_River, America/Thunder_Bay, Europe/Uzhgorod 및 Europe/Zaporozhye도 1970년 이후 주장된 구역과 차이점이 있다는 사실을 발견한 후 인근 구역으로 병합되었습니다. 오류였을 겁니다. 이러한 모든 경우에 이전 영역 이름은 별칭으로 유지됩니다. 하지만 실제 데이터는 병합된 영역의 데이터입니다.
이러한 영역 병합으로 인해 병합된 영역에 대한 1970년 이전 시간대 기록이 손실되며 이는 일관성을 기대하는 응용 프로그램에 문제가 될 수 있습니다.timestamptz디스플레이. 예를 들어, 저장된 값1944-06-01 12:00 UTC이전에는 다음과 같이 표시되었습니다.1944-06-01 13:00:00+01유럽/스톡홀름 지역이 선택되었지만 이제 다음과 같이 읽혀지는 경우1944-06-01 14:00:00+02.
이전 영역 데이터를 복원하는 옵션을 사용하여 시간대 데이터 파일을 구축할 수 있지만 해당 선택은 또한 다른 오래된(일반적으로 제대로 입증되지 않은) 영역 데이터를 많이 삽입하므로 이러한 업스트림 변경 사항을 허용하는 것보다 이전 릴리스에서 더 많은 총 변경 사항이 발생합니다.PostgreSQL배송을 선택했습니다tzdb데이터는 권장대로이며 우리가 아는 한 대부분의 주요 운영 체제 배포판도 마찬가지입니다. 그러나 이러한 변경으로 인해 애플리케이션에 심각한 문제가 발생하는 경우 가능한 해결책은 다음을 사용하여 시간대 데이터 파일의 로컬 빌드를 설치하는 것입니다.tzdb의 이전 버전과의 호환성 옵션(해당 항목 참조패키지 데이터그리고패키지 목록옵션).