출시일: 2023-05-11
이 릴리스에는 11.19의 다양한 수정 사항이 포함되어 있습니다. 주요 릴리스 11의 새로운 기능에 대한 자세한 내용은 다음을 참조하세요.토토 사이트 PostgreSQL : 문서 : 11 : E.23. 릴리스 11.
그포스트그레SQL커뮤니티는 2023년 11월에 11.X 릴리스 시리즈에 대한 업데이트 출시를 중단합니다. 사용자는 곧 최신 릴리스 브랜치로 업데이트하는 것이 좋습니다.
11.X를 실행하는 경우 덤프/복원이 필요하지 않습니다.
그러나 11.14 이전 버전에서 업그레이드하는 경우 참조스포츠 토토 PostgreSQL : 문서 : 11 : E.9. 릴리스 11.14.
방지스키마 생성변화를 물리치고검색_경로(알렉산더 라킨)
A 내에서스키마 생성명령, 일반적인 개체검색_경로및 새로 생성된 스키마의 스키마는 보안 설정을 시도하는 호출된 함수나 스크립트 내에서도 표시됩니다.검색_경로. 이로 인해 스키마를 생성할 권한이 있는 모든 사용자가 보안 정의자 함수 또는 확장 스크립트의 권한을 탈취할 수 와이즈 토토.
그포스트그레SQL프로젝트는 이 문제를 보고한 Alexander Lakhin에게 감사드립니다. (CVE-2023-2454)
세트 반환 함수를 인라인한 후 행 수준 보안 정책을 올바르게 시행하십시오(스티븐 프로스트, 톰 레인)
설정 반환 SQL 언어 함수가 행 수준 보안 정책이 있는 테이블을 참조하고 호출 쿼리에 인라인될 수 있는 경우 다른 역할에서 캐시된 계획을 재사용하는 것과 관련된 경우에 해당 RLS 정책이 제대로 시행되지 않습니다. 이를 통해 사용자는 표시되지 않아야 하는 행을 보거나 수정할 수 와이즈 토토.
그포스트그레SQL프로젝트는 이 문제를 보고한 볼프강 발터(Wolfgang Walther)에게 감사드립니다. (CVE-2023-2455)
새 스키마 이름이 생략될 때 충돌 방지스키마 생성(마이클 파퀴에)
SQL 표준은 쓰기를 허용합니다스키마 승인 생성, 스키마 이름 기본값은소유자_이름소유자_이름. 그러나 일부 코드 경로에서는 스키마 이름이 존재할 것으로 예상하고 실패합니다.
색인에 저장된 복합 유형 변경을 허용하지 않음(Tom Lane)
변경 유형테이블 열에 저장된 경우 복합 유형의 바이너리 호환되지 않는 수정을 허용하지 않습니다. (아마도 언젠가는 허용될 것이지만 아직 그런 일은 일어나지 않았습니다. 많은 테이블을 다시 작성하는 데 따른 잠금 의미는 어렵습니다.) 우리는 인덱스에 테이블에도 나타나지 않는 복합 유형이 포함될 수 있다는 가능성을 간과했습니다.
다음을 확인하세요복사 대상RLS가 활성화된 상위 테이블에서 하위 테이블의 행을 복사하지 않습니다(Antonin Houska)
문서에는 다음과 같이 분명합니다.복사 대상상속 하위 항목이 아닌 명명된 테이블의 행만 복사합니다. 그러나 테이블에서 행 수준 보안이 활성화된 경우 이는 사실이 아닙니다.
다음의 경우 충돌 가능성을 피하세요.배열_위치()또는배열_위치()빈 배열이 전달되었습니다(Tom Lane)
가능한 범위를 벗어난 가져오기 수정to_char()(톰 레인)
운이 나쁘다면 서버 충돌이 발생할 수도 와이즈 토토.
버퍼 오버로드 방지번역()함수 (다니일 아니시모프)
삭제 기능을 사용할 때 함수가 입력 문자열 바로 뒤의 바이트를 가져올 수 있으므로 약간의 충돌 위험이 발생할 수 와이즈 토토.
JSON 문자열 리터럴의 구문 분석 오류에 대한 오류 커서 설정 수정(Tom Lane)
JSON 값 내의 문자열 리터럴에서 구문 오류가 감지되는 대부분의 경우 오류 커서를 적절하게 설정하지 못했습니다. 이로 인해 적어도 도움이 되지 않는 오류 메시지(실제 문제 지점이 아닌 문자열 앞의 토큰을 가리킴)가 발생했으며 v14 이상에서는 충돌이 발생할 수도 와이즈 토토.
부적절하게 중첩된 집계의 일부 사례를 감지하지 못하는 파서의 오류 수정(Tom Lane)
이러한 감독으로 인해 유효하지 않은 것으로 거부되어야 하는 쿼리에 대한 실행기 오류가 발생할 수 와이즈 토토.
시리얼 구문 분석 중 데이터 구조 손상 수정시퀀스 이름옵션 (데이비드 로울리)
이벤트 트리거가 손상된 구문 분석 트리를 캡처하는 경우 문제가 발생할 수 와이즈 토토.
initplans를 한 노드에서 다른 노드로 이동할 때 계획 노드의 병렬 안전 표시를 올바르게 업데이트합니다(Tom Lane)
이 플래너의 감독으로 인해 다음이 발생할 수 있습니다.“하위 계획이 초기화되지 않았습니다”런타임 오류.
호출에 하위 SELECT가 포함된 경우 창 집합에 대한 역전이 최적화 비활성화(David Rowley)
이 최적화를 위해서는 집계의 인수 표현식에 반복 가능한 결과가 있어야 하며 이는 하위 SELECT에는 적용되지 않을 수 와이즈 토토.
중첩 실행 시 감독 문제 수정배열[]구조물 (Alexander Lakhin, Tom Lane)
결과 배열에 필요한 전체 공간의 오버플로를 올바르게 감지하여 작은 출력 할당으로 인한 충돌 가능성을 방지합니다. 또한 결과 배열의 후행 패딩 공간이 0인지 확인하십시오. 쓰레기를 버리는 동안 대부분의 목적에 무해하지만 나중에 이상한 동작이 발생할 수 있습니다.
부울 열 분할을 위한 파티션 정리 논리 수정(David Rowley)
다음과 같은 조건으로 가지치기boolcol은 사실이 아닙니다잘못 수행되어 해당 행이 반환되지 않을 수 와이즈 토토.bocolNULL입니다. 또한 파티션을 나누는 경우는 거의 없습니다.boolcol 아님잘못 처리되었습니다.
병렬 해시 조인 중 배치별 정리의 경쟁 조건 수정(Thomas Munro, Melanie Plageman)
불운한 타이밍으로 인해 충돌이 발생할 수 있었으며parallel_leader_participation = 꺼짐(기본값이 아님).
테이블에 관계당 항목이 있는 경우 진공 비용 지연의 균형을 맞추지 마십시오.vacuum_cost_delay0의 설정(사와다 마사히코)
autovacuum이 관계별 테이블을 처리할 때마다 지연 균형 조정이 비활성화되어야 합니다.vacuum_cost_delay설정이지만 이는 0이 아닌 양수 설정에 대해서만 수행되었습니다.
뷰 끝에 열을 추가할 때 코너 케이스 충돌 문제 수정(Tom Lane)
분할된 업데이트에서 MULTIEXPR_SUBLINK 하위 계획의 드물게 실패하는 문제를 복구합니다(Andres Freund, Tom Lane)
구문의 사용충돌 시 삽입 ... 업데이트 수행 세트 (c1, ...) = (SELECT ...)파티션된 대상 테이블이 있는 경우 하위 테이블이 상위 테이블과 다른 경우(예: 물리적 열 순서가 다름) 오류가 발생할 수 와이즈 토토. 이는 일반적으로 실행기의 일관성 검사 실패로 나타납니다. 하지만 충돌이나 잘못된 데이터 업데이트도 가능합니다.
다음 처리 수정기본값여러 행 내의 마커삽입 ... 값다음이 있는 뷰에 대한 쿼리또한 삽입하세요 ... 선택rule (딘 라시드)
이러한 사례는 일반적으로 다음과 같이 실패합니다.“인식할 수 없는 노드 유형”오류 또는 어설션 실패.
지원 참조오래된그리고신규규칙 작업의 하위 쿼리 내(Dean Rasheed, Tom Lane)
이러한 참조는 실제로 측면 참조이지만 하위 쿼리가 명시적으로 표시되지 않으면 서버가 충돌할 수 와이즈 토토.측면. 필요한 경우 암시적으로 그렇게 하도록 준비하세요.
다음을 포함하는 규칙 또는 SQL 함수 본문을 디컴파일할 때삽입/업데이트/삭제내부위드, 대상 테이블에 대한 올바른 별칭을 인쇄하도록 주의하세요(Tom Lane)
결함 수정직렬화 가능한 읽기 전용최적화 (토마스 먼로)
이미 다음으로 표시된 거래“파멸된”다음에 대한 안전 스냅샷 최적화를 혼동함직렬화 가능한 읽기 전용거래. 어떤 경우에는 최적화가 불필요하게 생략되었습니다. 다른 경우에는 어설션 실패가 발생했습니다(그러나 어설션이 아닌 빌드에서는 문제가 없었습니다).
다음에서 캐시 콜백 슬롯 누출을 방지하세요.pgoutput논리적 디코딩 플러그인(Shi Yu)
단일 세션 내에서 플러그인을 여러 번 시작하고 종료하면 결국 다음과 같은 문제가 발생합니다.“relcache_callback_list 슬롯 중”오류.
GiST 인덱스의 버퍼링 빌드 중 댕글링 포인터 역참조 문제 수정(Alexander Lakhin)
이 오류는 가져온 값이 중요하지 않기 때문에 일반적으로 프로덕션 빌드에서는 무해한 것 같습니다. 그러나 원칙적으로는 서버 충돌을 일으킬 수 와이즈 토토.
업데이트 또는 삭제 작업의 논리적 복제 중 삭제된 열 무시(Onder Kalaci, Shi Yu)
다음을 사용한 복제복제본 ID 전체테이블에 그러한 열이 포함되어 있으면 옵션이 실패했습니다.
SCRAM-SHA-256 채널 바인딩으로 RSA-PSS 인증서 지원(Jacob Champion, Heikki Linnakangas)
이 기능을 사용하려면 OpenSSL 1.1.1 이상을 사용하여 구축해야 합니다. 서버와libpq영향을 받았습니다.
Windows에서 프로세스 ID 추적으로 경합 상태 방지(Thomas Munro)
운영 체제는 포스트마스터가 해당 하위 프로세스가 사라진 것을 관찰하기 전에 PID를 재활용할 수 와이즈 토토. 이로 인해 동일한 PID를 가진 두 명 이상의 하위 항목을 추적하게 되어 혼란을 초래할 수 와이즈 토토.
누락된 사례 추가SPI_result_code_string()(딘 라시드)
잘못된 Valgrind 표시 수정AllocSetRealloc()(카리나 릿스케비치)
큰(8kB) palloc 청크의 크기가 감소하는 특이한 경우 Valgrind 인식 빌드는 청크에서 해제된 메모리의 정의 상태를 잘못 표시하여 Valgrind 테스트 중에 잘못된 결과를 초래할 수 와이즈 토토.
트랜잭션 논리적 복제 메시지를 디코딩할 때 어설션 실패 방지(Tomas Vondra)
정규식 이스케이프 처리 시 로케일 민감도 방지(Jeff Davis)
백슬래시 뒤에 ASCII가 아닌 문자가 오면 널리 사용되는 로케일에 따라 때때로 어설션 실패가 발생할 수 와이즈 토토.
빈 WAL 레코드를 작성하지 마십시오.log_newpage_range()지정된 범위의 마지막 몇 페이지가 비어 있을 때 (Matthias van de Meent)
이 사례가 릴리스된 분기에서 도달 가능한지 여부는 완전히 명확하지 않지만, 그렇다면 어설션 실패가 발생할 수 와이즈 토토.
Perl 목록 구조를 다차원 SQL 배열로 변환할 때 배열 차원 검사를 강화합니다(Tom Lane)
plperl하위 목록의 중첩이 일관되지 않아 데이터가 값의 직사각형 배열을 나타내지 않는 경우 오작동할 수 있습니다. 이러한 경우 이제 오류가 발생하지만 이전에는 충돌이나 가비지 출력이 발생할 수 있었습니다.
Python 목록 구조를 다차원 SQL 배열로 변환할 때 배열 차원 검사를 강화합니다(Tom Lane)
plpython빈 하위 목록을 처리할 때 또는 하위 목록의 중첩이 일관되지 않아 데이터가 값의 직사각형 배열을 나타내지 않을 때 오작동할 수 있습니다. 전자의 경우 빈 출력 배열이 발생하고 후자의 경우 오류가 발생합니다. 그러나 어떤 경우에는 충돌이 발생했고 다른 경우에는 예상치 못한 출력이 발생했습니다.
예외 스택 해제 문제 해결plpython(궈싱)
일부 드문 실패 사례는 PG_TRY 예외 스택을 정리하지 않고 반환될 수 있으며, 다음 스택 수준이 해제되기 전에 다른 오류가 발생하면 충돌 위험이 있습니다.
다음에서 발생할 수 있는 데이터 손상 수정ecpg다음으로 빌드된 프로그램-C 오라클옵션(호리구치 쿄타로)
언제ecpg_get_data()다음으로 호출됨varcharsize0으로 설정하면 이전 필드의 마지막 바이트에 종료 0 문자를 기록하여 해당 필드의 데이터를 잘라낼 수 있습니다.
수정pg_dump열거형 열에서 해시 파티션된 파티션 테이블을 성공적으로 복원할 수 있도록 (Tom Lane)
열거형 값의 해시 코드는 열거형에 할당된 OID에 따라 다르므로 덤프 및 복원 후에 일반적으로 다릅니다. 이는 행이 원래 있었던 것과 다른 파티션으로 이동해야 하는 경우가 많다는 것을 의미합니다. 사용자는 다음을 지정하여 이 문제를 해결할 수 있습니다.--파티션 루트를 통해 로드옵션; 하지만 그것 없이는 성공할 가능성이 거의 없기 때문에 가르쳐주세요.pg_dump해당 테이블에 자동으로 적용합니다.
또한 수정pg_restore노력하지 않으려고잘라내기테이블을 복원하기 전에 대상 테이블을 지정하는 경우--파티션 루트를 통해 로드모드가 사용됩니다. 이렇게 하면 교착 상태 및 데이터 손실 위험이 방지됩니다.
에contrib/hstore_plpython, 변환할 Python 값이 매핑이 아닌 경우 충돌 방지(Dmitry Dolgov, Tom Lane)
이렇게 하면 오류가 발생하지만 Python 3에서는 검사가 오작동하는 방식으로 일부 API를 변경하여 충돌이 발생할 수 와이즈 토토.
잘못된 행동 수정contrib/pg_trgm만족스럽지 못한 정규식 사용(Tom Lane)
다음과 같은 정규식$foo적법하지만 만족스럽지 않습니다. 정규식 컴파일러는 이를 인식하고 빈 NFA 그래프를 생성합니다. 이러한 그래프를 pg_trgm GIN 또는 GiST 인덱스 자격으로 최적화하려고 하면 작업 배열의 끝 부분에 액세스하여 충돌이 발생할 수 있습니다.
다음을 사용하세요--스트립-불필요GNU 호환으로 정적 라이브러리를 제거할 때의 옵션스트립(톰 레인)
이전에,설치 스트립 만들기다음을 사용함-x23827_23885llvm-strip, 약간 더 작은 출력도 제공합니다.
문서 작성을 위해 DTD 파일 자동 다운로드 권장을 중지하고 실제로 비활성화합니다(Aleksander Alekseev, Peter Eisentraut, Tom Lane)
DocBook DTD 파일을 로컬에 설치하지 않고는 SGML 문서를 만드는 것이 더 이상 가능하지 않은 것 같습니다. 이전에xsltprocsourceforge.net에서 해당 파일을 즉시 다운로드할 수 있습니다. 하지만 sourceforge.net은 이제 HTTPS 액세스만 허용하고 일반 버전은 허용하지 않습니다.xsltproc그것을 지원합니다. 따라서 가능하거나 유용하다고 제안하는 문서의 일부를 제거하고 대신에 다음을 추가하세요.xsltproc's--nonet빌드 레시피에 대한 옵션입니다.
PGXS 빌드에서 TAP 테스트를 실행할 때 임시 위치를 위해 더 안전한 위치를 사용하십시오.포트락디렉토리(피터 아이젠트라우트)
아래에 놓으세요tmp_check빌드 디렉토리에 있습니다. 이전 코딩을 사용하면 PGXS 빌드가 반드시 쓰기 가능한 것은 아닌 설치 디렉터리에 배치하려고 합니다.
다음으로 시간대 데이터 파일 업데이트tzdata이집트, 그린란드, 모로코, 팔레스타인의 DST 법률 변경에 대한 2023c 릴리스입니다.
모스크바 시간을 관찰할 때 유럽/키로프 및 유럽/볼고그라드는 이제 모스크바 시간을 관찰하는 다른 시간대와의 일관성을 위해 숫자 약어 대신 MSK/MSD 약어를 사용합니다. 또한 America/Yellowknife는 더 이상 America/Edmonton과 구별되지 않습니다. 이는 해당 지역의 일부 1948년 이전 타임스탬프에 영향을 미칩니다.