출시 날짜 :2022-11-10
이 롤 토토에는 10.22의 다양한 수정 사항이 포함되어 있습니다. Major Release 10의 새로운 기능에 대한 정보는 참조섹션 E.24.
이것은 마지막이 될 것으로 예상롤 토토10.x 시리즈의 출시. 사용자는 곧 새로운 롤 토토 지점으로 업데이트하도록 권장됩니다.
10.x.를 실행하는 사람들에게는 덤프/복원이 필요하지 않습니다.
그러나 10.19 이전 버전에서 업그레이드하는 경우 참조섹션 E.5.
수정진공
BTREE 인덱스의 시도 된 페이지 삭제가 페이지의 상위 다운 링크 (Peter Geoghegan)를 찾지 못하는 경우옵니다.
오류를 던지지 않고 문제를 기록하고 빈 페이지를 삭제하지 않고 계속하십시오. 이전에는 버그가 많은 운영자 클래스 또는 손상된 인덱스는 무기한으로 인덱스 진공 청소기의 완료를 방지 할 수있어 결국 트랜잭션 랩 어라운드 문제로 이어질 수 있습니다..
수정기본값
멀티 로우에 나타나는 토큰값
조항삽입
업데이트 가능한보기 (Tom Lane)
이 감독은로 이어질 수 있습니다.“캐시 조회가 유형에 실패했습니다”오류 또는 구형 지점에서 충돌 할 때도.
규칙을 허용하지_return
그렇지 않습니다ON SELECT
(Tom Lane)
이것은보기 간의 혼란을 피합니다ON SELECT
규칙 및 기타 규칙.
상속 업데이트에서 MultiexPr_Sublink 하위 플랜의 희귀 실패 (Tom Lane)
구문 사용업데이트 탭 세트 (C1, ...) = (select ...)
하위 테이블이 충분히 다른 경우 상속되거나 분할 된 대상 테이블이 실패 할 수 있습니다. 이것은 일반적으로 집행자의 일관성 검사 실패로 나타납니다.
평평한 피지From
-외부 쿼리에 그룹화 세트가있을 때 (Tom Lane).
이 감독은 주장 실패 또는 플래너 오류로 이어질 수 있습니다.“변수 대상 목록에서 찾을 수없는 가변”.
대기 프로모션 후 WAL 부패 방지 (Dilip Kumar, Robert Haas)
언제롤 토토인스턴스 아카이브 복구를 수행하지만 대기 모드를 사용하지 않음)가 홍보되고 읽기를 시도한 마지막 WAL 세그먼트가 부분 레코드로 종료되면 인스턴스는 새로운 타임 라인에 유효하지 않은 WAL 세그먼트를 작성합니다..
GIN 인덱스를위한 빠른 삽입 경로에서 WAL 작업의 잘못 주문 (Matthias van de Meent, Zhang Mingli)
이 실수는 핵심 내에서 부정적인 결과를 가져 오는 것으로 알려져 있지 않습니다롤 토토, 그러나 일부 확장에 문제가 발생했습니다.
트랜잭션의 시작과 하위 트랜잭션의 시작 지점에서 재생이 시작될 때 논리 디코딩의 버그 수정 (Masahiko Sawada, Kuroda Hayato)
이러한 오류는 디버그 빌드에서 어설 션 실패로 이어질 수 있습니다.
논리 디코딩 중 잘못된 스냅 샷으로 시스템 카탈로그 검사 방지 (Masahiko Sawada)
디코딩이 시스템 카탈로그를 수정하는 트랜잭션을 통해 파트 웨이를 시작하면 디코더가 그 트랜잭션을 카탈로그 조회에 대한 진행중인 것으로 취급하지 못하게 할 수 있습니다..
논리적 디코딩 중에 더 많은 장소에서 인터럽트를 수락합니다 (Amit Kapila, Masahiko Sawada)
이것은 복제 작업자의 느린 종료로 문제를 개선합니다.
복제 작업자의 기능 구문 오류 후 충돌을 피하십시오 (Maxim Orlov, Anton Melnikov, Masahiko Sawada, Tom Lane)
SQL-LANGURAGE 또는 PL/PGSQL-LANGUAGE에서 구문 오류가 발생한 경우기능 생성
또는do
논리적 복제 작업자에서 실행 된 명령은 노동자 프로세스가 널 포인터 피해 또는 어설 션 실패로 충돌합니다.
SQL 함수 (Tom Lane)로 전달되는 읽기 쓰레기 확장 기준의 취급 수정
감염되지 않은 SQL 기능이 둘 이상의 장소에서 매개 변수를 사용하고 해당 함수 중 하나가 읽기 쓰기 단계를 수정할 수있을 것으로 예상하면 나중에 매개 변수의 사용이 잘못된 값을 관찰 할 수 있습니다. (핵심 내에서롤 토토, 확장 된 다투 메커니즘은 배열 및 복합 유형 값에만 사용됩니다. 그러나 확장자는 다른 구조화 된 유형에 사용할 수 있습니다.)
Snowball Dictionaries에서는 과도한 단어 (Olly Betts, Tom Lane)를 밟으려고하지 마십시오.
입력 단어가 1000 바이트를 초과하면 눈덩이 코드를 통해 실행하려고하지 않고 케이스 폴딩 후에 반환하십시오. 이 제한은 터키어 스티머에서 알려진 재귀 대 스택-오버 플로우 문제로부터 보호하며, 눈덩이 줄기에 존재할 수있는 다른 안전 또는 성능 문제에 대한 좋은 보험처럼 보입니다.
문자열 비교에서 사용되지 않으면 무료 위험 수정 (Tom Lane)
문자열 비교 함수의 부적절한 메모리 관리는 할당되지 않은 버퍼에서 낙서를 초래할 수 있으며, 현재 그 메모리를 사용하는 모든 것에 대해 잠재적으로 물건을 깨뜨릴 수 있습니다. 이것은 상당히 긴 줄 (1KB 이상)에서만 발생하며 ICU 콜레이션이 사용되는 경우에만 발생합니다.
공유 메모리 상태가 손상 될 때 우체국 장 마스터 충돌 방지 (Tom Lane)
Postmaster 프로세스는 공유 메모리가 손상되면 생존하고 데이터베이스 재시작을 시작해야하지만 한 가지 코드가 충분히 조심스럽게 신중했습니다..
Stack Overrun (Richard Guo, Tom Lane)까지 재귀에 대한 더 많은 방어 추가 추가
Autovacuum 런처 프로세스에서 장기 메모리 누출을 피하십시오 (Reid Thompson)
필드 보고서의 부족은이 문제가 V15 이전 지점에서만 잠재적임을 시사합니다. 그러나 왜 그 이유는 분명하지 않습니다. 어쨌든 수정을 뒤로 chatch하십시오.
누락 된 가드 추가null
연결 포인터에서libpq(Daniele Varrazzo, Tom Lane)
libpq함수는 널 pgconn 인수를 확인하고 충돌하는 대신 우아하게 실패해야합니다.pqflush ()
andpqisnonBlocking ()
그 메모를 얻지 못하므로 고치십시오.
inECPG, 다중 일 때 가변 스토리지 클래스의 생략 수정varchar
또는BYTEA
변수는 동일한 선언 (Andrey Sokolov)에서 선언됩니다
예를 들어ECPG번역정적 Varchar str1 [10], str2 [20], str3 [30];
그런 식으로str1
표시되었습니다static
.
크로스 플랫폼 테이블 스페이스 재배치 허용PG_BASEBACKUP(Robert Haas)
원격 경로 허용--- 테이블 스페이스 맵핑
소스 서버가 로컬 시스템과 다른 OS에있을 수 있으므로 Unix 스타일 또는 Windows 스타일 절대 경로입니다.
inpg_stat_statements, 이미 자유로운 메모리에 대한 액세스 수정 (ZhaoQigui)
이 경우 발생했습니다pg_stat_statements추적 a롤백
확장 쿼리 프로토콜을 통해 발행 된 명령. 디버그 빌드에서는 일관되게 어설 션 실패로 이어졌습니다.
inpostgres_fdw, 평가 플랜 Qual 계획을 위해 구축 된 대상 목록이 필요한 모든 열 (Richard Guo, Etsuro Fujita)을 갖도록하십시오.
이것은 피합니다“변수 대상 목록에서 찾을 수없는 가변”드문 경우의 오류.
플랫폼에서 원치 않는 출력 거부uuid_create ()
기능 (Nazir Bilal Yavuz)
theuuid-sossp모듈은 LIBC를 기대합니다uuid_create ()
버전 -1 UUID를 생성하려면 최근 NETBSD 릴리스는 대신 버전 -4 (Random) UUID를 생성합니다. 그것을 확인하고 그렇다면 불만을 제기하십시오.uuid-sossp. (버전 -4 UUID가 귀하의 목적에 맞는 경우 필요하지 않습니다uuid-sossp전혀; 그냥 사용gen_random_uuid ()
.)
표준 설치에 새 Perl 테스트 모듈 포함 (Álvaro Herrera)
add롤 토토/test/cluster.pm
and롤 토토/test/utils.pm
전처리 -15 분기의 표준 설치 파일에. 이것은 오래된 지점에서 새로 작성된 테스트 코드를 사용하려는 확장의 이점을위한 것입니다.
NetBsd에서 우체국 마스터 스타트 (Andres Freund, Tom Lane)에서 동적 기호 해상도를 강제
이것은 NetBsd 10의 동적 링커에서 교착 상태의 위험을 피합니다.
사용 허용__sync_lock_test_and_set ()
모든 기계의 스핀 락 (Tom Lane)
적어도이 GCC 내장 기능을 지원하는 컴파일러를 사용하는 경우 새로운 기계 아키텍처로의 포트가 완화됩니다.
기호 이름 바꾸기Ref
toref_p
최근 MACOS (Tom Lane)에서 컴파일 실패를 피하려면
Silence 다양한 컴파일러 경고 15 이상 (Tom Lane)
시간대 데이터 파일 업데이트TZDATA칠레, 피지,이란, 요르단, 멕시코, 팔레스타인 및 시리아의 DST 법률 변경을위한 2022F 롤 토토, 칠레, 크리미아,이란 및 멕시코의 역사적 교정.
또한 유럽/키예프 구역의 이름이 유럽/Kyiv로 바뀌 었습니다. Also, the following zones have been merged into nearby, more-populous zones whose clocks have agreed with them since 1970: Antarctica/Vostok, Asia/Brunei, Asia/Kuala_Lumpur, Atlantic/Reykjavik, Europe/Amsterdam, Europe/Copenhagen, Europe/Luxembourg, Europe/Monaco, Europe/Oslo, Europe/Stockholm, Indian/Christmas,
이 구역 합병은 합병 된 영역의 1970 년 이전 시간대 이력을 잃어 버리며, 이는 일관성을 기대하는 응용 분야에서 문제가 될 수 있습니다TimesTamptz
디스플레이. 예를 들어, 저장된 값1944-06-01 12:00 UTC
이전에 이전에 표시됩니다1944-06-01 13 : 00 : 00 00+01
유럽/스톡홀름 구역이 선택된 경우, 이제로 표시됩니다.1944-06-01 14 : 00 : 00+02
.
이전 구역 데이터를 복원하는 옵션으로 시간대 데이터 파일을 구축 할 수 있지만, 그 선택은 또한 다른 구식 (일반적으로 불완전한) 영역 데이터를 삽입하여 이러한 업스트림 변경을 수락하는 것보다 이전 릴리스에서 더 많은 변화를 가져옵니다..롤 토토배송을 선택했습니다TZDB데이터가 권장되는 경우, 대부분의 주요 운영 체제 분포도 마찬가지로 알고있는 한. 그러나 이러한 변경 사항이 응용 프로그램에 중대한 문제를 일으키는 경우 가능한 솔루션은를 사용하여 시간대 데이터 파일의 로컬 빌드를 설치하는 것입니다.TZDB의 후진 호환성 옵션 ( 참조packratdata
andpackratlist
옵션).