출시 날짜 :2022-11-10
이 릴리스에는 14.5의 다양한 수정 사항이 포함되어 있습니다. Major Release 14의 새로운 기능에 대한 정보는 참조섹션 E.18.
14.x.를 실행하는 사람들에게는 덤프/복원이 필요하지 않습니다.
그러나 14.4 이전 버전에서 업그레이드하는 경우 참조하십시오.섹션 E.14.
동시에 업데이트 중에 드문 공황을 피하십시오진공
(Tom Lane, Jeff Davis)§ §
동시에진공
페이지에 가시 가능한 플래그 비트를 설정합니다.업데이트
또는삭제
수정중인 과정에서 업데이트 명령은 해당 비트를 다시 지워야합니다. 그러나 일부 코드 경로는 공황 출구 및 데이터베이스 재시작으로 끝나는 데 실패했습니다.
이것은 버전 14 및 15에서 가능하다고 알려져 있습니다. 이전 지점에서는 잠복 할 수 있습니다.
수정기본값
멀티 로우에 나타나는 토큰값
조항삽입
업데이트 가능한보기 (Tom Lane)§
이 감독은로 이어질 수 있습니다“캐시 조회가 유형에 실패했습니다”오류 또는 구형 지점에서 충돌 할 수도 있습니다.
규칙을 허용하지_return
그렇지 않습니다ON SELECT
(Tom Lane)§
이것은보기 간의 혼란을 피합니다ON SELECT
규칙 및 기타 규칙.
튜플 저장에 대한 자원 관리 버그 수정이후
트리거 (Tom Lane)§
올바른 상황이 주어지면로 나타납니다.“Tupdesc 참조nnnn
자원 소유자가 소유하지 않습니다”오류 뒤에 공황 출구.
실패 방지Verbose 설명
쿼리 사용폭이 먼저 검색
일정한 초기 값 (Tom Lane)§
수행 중에 정당화 당 외국의 주요 제약 조건의 구성 수정ALTER 테이블 첨부 파티션
(Jehan-Guillaume de Rorthais, Álvaro Herrera)§ §
이전에, 새로 구매 된 파티션을 위해 부정확하거나 중복 제약 조건을 구성 할 수 있습니다.
파티션 당 외국 키 제약에 대한 제약 제약 이름의 생성 수정 (Jehan-Guillaume de Rorthais)§
처음 입자 한 이름이 파티션의 일부 제약에 이미 사용중인 경우 새 이름이 선택됩니다. 그러나 그것은 의도 한대로 철자가 아니었다.
파티션 된 인덱스를 생성 할 때 인덱스 표현식의 잘못된 일치 및 사전 상품을 수정합니다 (Richard Guo, Tom Lane)§
파티션 된 인덱스를 작성하는 동안 파티션 된 인덱스와 일치하는 파티션의 기존 인덱스를 식별하여 새 인덱스를 구축하는 대신 자식 색인으로 흡수 할 수 있습니다. 표현의 일치는 제대로 수행되지 않았으므로 사용 가능한 아동 지수가 무시되어 복제 지수를 만들 수 있습니다.
대기 프로모션 후 WAL 부패 방지 (Dilip Kumar, Robert Haas)§
언제PostgreSQL인스턴스 인스턴스 아카이브 복구 (대기 모드 사용하지 않음)가 홍보되고 읽기를 시도한 마지막 WAL 세그먼트가 부분 레코드로 종료되면 인스턴스는 새로운 타임 라인에 유효하지 않은 WAL 세그먼트를 작성합니다..
GIN 인덱스를위한 빠른 삽입 경로에서 WAL 작업의 잘못 주문 (Matthias van de Meent, Zhang Mingli)§
이 실수는 핵심 내스포츠 토토 결과 부정적인 결과를 가져 오는 것으로 알려져 있지 않습니다PostgreSQL이지만 일부 확장에 문제가 발생했습니다.
트랜잭션 시작과 하위 트랜잭션의 시작 지점에서 재생이 시작될 때 논리 디코딩의 버그 수정 (Masahiko Sawada, Kuroda Hayato)§ §
이러한 오류는 디버그 빌드스포츠 토토 결과 어설 션 실패로 이어질 수 있습니다.
논리 디코딩 중에 잘못된 스냅 샷으로 시스템 카탈로그 검사 방지 (Masahiko Sawada)§
디코딩이 시스템 카탈로그를 수정하는 트랜잭션을 통해 파트 웨이를 시작하면 디코더가 그 트랜잭션을 카탈로그 조회에 대한 진행중인 것으로 처리하지 못하는 것을 인식하지 못할 수 있습니다..
논리적 디코딩 중에 더 많은 장소스포츠 토토 결과 인터럽트를 수락합니다 (Amit Kapila, Masahiko Sawada)§ §
이것은 복제 작업자의 느린 종료로 문제를 개선합니다.
복제 작업자 (Shi Yu, Tom Lane)스포츠 토토 결과 외국 테이블 파티션으로 복제하려는 시도 방지§
파티션 된 테이블은 이물질 테이블을 파티션으로 가질 수 있지만 이러한 파티션으로 복제하는 것은 현재 지원되지 않습니다. 논리적 복제 작업자 프로세스가 시도되면 충돌합니다.
분할 된 테이블 (Hou Zhijie)의 복제 아이덴티티 설정스포츠 토토 결과 무의미한 점검 제거§
중요한 것은 잎 파티션의 복제 아이덴티티 설정이므로 부모에게 설정되지 않으면 오류를 던질 필요가 없습니다..
복제 작업자의 기능 구문 오류 후 충돌을 피하십시오 (Maxim Orlov, Anton Melnikov, Masahiko Sawada, Tom Lane)§
SQL-LANGURAGE 또는 PL/PGSQL-LANGUAGE에서 구문 오류가 발생한 경우기능 생성
또는do
논리적 복제 작업자에서 실행 된 명령은 노동자 프로세스가 널 포인터 피해 또는 어설 션 실패로 충돌합니다.
SQL 함수 (Tom Lane)로 전달되는 읽기 낭비 확장 기준의 취급 수정§
감염되지 않은 SQL 기능이 둘 이상의 장소에서 매개 변수를 사용하고 해당 함수 중 하나가 읽기 쓰기 데이텀을 수정할 수있을 것으로 예상하면 나중에 매개 변수의 사용이 잘못된 값을 관찰 할 수 있습니다. (핵심 내에서PostgreSQL, 확장 된 다투 메커니즘은 배열 및 복합 유형 값에만 사용됩니다. 그러나 확장자는 다른 구조화 된 유형에 사용할 수 있습니다.)
수정 유형Circle
의 평등 비교기를 올바르게 처리하기위한 평등 비교기 (Ranier Vilela)§
왼쪽 원에 반경에 대한 부동 소수점 Nan이 있으면 동일한 중심과 반경이있는 원과 동일하게 간주됩니다..
Snowball Dictionaries스포츠 토토 결과는 과도한 단어를 막으려 고하지 마십시오 (Olly Betts, Tom Lane)§
입력 단어가 1000 바이트를 초과하면 눈덩이 코드를 통해 실행하려고하지 않고 케이스 폴딩 후에대로 반환하십시오. 이 제한은 터키어 스티머에서 알려진 재귀 대 스택-오버 플로우 문제로부터 보호하며, 눈덩이 줄기에 존재할 수있는 다른 안전 또는 성능 문제에 대한 좋은 보험처럼 보입니다.
문자열 비교에서 사용하지 않는 위험을 수정 (Tom Lane)§
문자열 비교 함수의 부적절한 메모리 관리는 할당되지 않은 버퍼스포츠 토토 결과 낙서를 초래할 수 있으며, 현재 해당 메모리를 사용하는 모든 것에 대해 잠재적으로 물건을 깨뜨릴 수 있습니다. 이것은 상당히 긴 줄 (1KB 이상)스포츠 토토 결과만 발생하며 ICU 콜레이션이 사용되는 경우에만 발생합니다.
테이블 액세스 방법 (Tom Lane)이없는 테이블에 대한 액세스 시도에 대한 계획 시간 점검 추가§
이것은 일부 카탈로그-부패 시나리오스포츠 토토 결과 충돌을 방지합니다 (예 : view).ON SELECT
규칙이 누락되었습니다.
공유 메모리 상태가 손상 될 때 우체국 장 마스터 충돌 방지 (Tom Lane)§
Postmaster 프로세스는 공유 메모리가 손상되면 생존하고 데이터베이스 재시작을 시작해야하지만 한 가지 코드가 충분히 조심스럽게 신중했습니다..
Stack Overrun (Richard Guo, Tom Lane)까지 재귀에 대한 더 많은 방어 추가§ §
매우 작은 해시 테이블 크기를 선택할 때 오작동을 피하십시오work_mem
및 큰 튜플 (Zhang Mingli)§
Autovacuum 런처 프로세스스포츠 토토 결과 장기 메모리 누출을 피하십시오 (Reid Thompson)§
현장 보고서의 부족은이 문제가 V15 이전 지점에서만 잠재적 일뿐임을 시사합니다. 그러나 왜 그 이유는 분명하지 않습니다. 어쨌든 수정을 뒤로 chatch하십시오.
개선pl/pgsql의 매개 변수를 처리하는 능력레코드
(Tom Lane)§
전달 된 각 콘크리트 유형에 대한 별도의 기능 캐시 항목 구축레코드
세션 중 매개 변수, 다형성 매개 변수와 마찬가지로. 이를 통해 일부 사용량은와 같은 오류로 이전에 실패한 작동을 가능하게합니다.“계획을 준비 할 때 매개 변수 유형이 일치하지 않습니다”.
inlibpq, 파이프 라인 (Denis Laxalde)시 단일 열 모드를 올바르게 처리합니다.§
파이프 라인 모드도 활성화 된 경우 올바른 시간에 단일 줄 플래그가 재설정되지 않았습니다.
누락 된 가드 추가null
연결 포인터스포츠 토토 결과libpq(Daniele Varrazzo, Tom Lane)§
libpq함수는 널 pgconn 인수를 확인하고 충돌하는 대신 우아하게 실패해야합니다.pqflush ()
및pqisnonBlocking ()
그 메모를 얻지 못하므로 고치십시오.
inECPG, 다중 일 때 가변 스토리지 클래스의 누락 수정Varchar
또는BYTEA
변수는 동일한 선언 (Andrey Sokolov)스포츠 토토 결과 선언됩니다.§
예를 들어ECPG번역정적 Varchar str1 [10], str2 [20], str3 [30];
그런 식으로str1
표시정적
.
Allow cross-platform tablespace relocation inPG_BASEBACKUP(Robert Haas)§
원격 경로 허용--- 테이블 스페이스 맵핑
소스 서버가 로컬 시스템과 다른 OS에있을 수 있으므로 Unix 스타일 또는 Windows 스타일의 절대 경로가 되려면
inpg_stat_statements, 이미 자유로운 메모리에 대한 액세스 수정 (ZhaoQigui)§
이것은 IF 발생했습니다.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)§
addpostgresql/test/cluster.pm
및postgresql/test/utils.pm
전처리 -15 분기의 표준 설치 파일에. 이것은 오래된 지점스포츠 토토 결과 새로 작성된 테스트 코드를 사용하려는 확장의 이점을위한 것입니다.
NetBSD스포츠 토토 결과 우체국 마스터 스타트 (Andres Freund, Tom Lane)스포츠 토토 결과 동적 기호 해상도를 강제로 강제로 동적 기호 해상도§
이것은 NetBsd 10의 동적 링커스포츠 토토 결과 교착 상태의 위험을 피합니다.
LLVM 15 (Thomas Munro, Andres Freund)와 비 호환성 수정§
사용 허용__sync_lock_test_and_set ()
모든 기계의 스핀 락 (Tom Lane)§
이것은 최소한이 GCC 내장 기능을 지원하는 컴파일러를 사용하는 경우 새로운 기계 아키텍처로의 포트가 완화됩니다..
이름 바꾸기 기호Ref
toref_p
최근 MACOS (Tom Lane)에서 컴파일 실패를 피하려면§
사용하지 않으면Sprintf
, 컴파일 타임 감가 상각 경고를 피하기 위해 (Tom Lane)§
시간대 데이터 파일 업데이트TZDATA칠레, 피지,이란, 요르단, 멕시코, 팔레스타인 및 시리아의 DST 법률 변경을위한 릴리스 2022F와 칠레, 크리미아,이란 및 멕시코의 역사적 교정. (Tom Lane)§
또한 유럽/키예프 구역의 이름이 유럽/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 00+02
.
이전 구역 데이터를 복원하는 옵션을 갖춘 시간대 데이터 파일을 구축 할 수 있지만, 그 선택은 또한 다른 오래된 (그리고 일반적으로 불완전한) 영역 데이터를 삽입하여 이러한 상류 변경을 수락하는 것보다 이전 릴리스에서 더 많은 변화를 가져옵니다..PostgreSQL배송을 선택했습니다TZDB데이터가 권장되는 경우, 대부분의 주요 운영 체제 분포도 마찬가지로 알고있는 한. 그러나 이러한 변경 사항이 응용 프로그램에 중대한 문제를 일으키는 경우 가능한 솔루션은를 사용하여 시간대 데이터 파일의 로컬 빌드를 설치하는 것입니다.TZDB의 후진 호환성 옵션 (참조packratdata
및packratlist
옵션).