출시일: 2020-05-14
이 릴리스에는 12.2의 다양한 수정 사항이 포함되어 있습니다. 주요 릴리스 12의 새로운 기능에 대한 자세한 내용은 다음을 참조하세요.토토 사이트 PostgreSQL : 문서 : 12 : E.23. 릴리스 12.
12.X를 실행하는 경우 덤프/복원이 필요하지 않습니다.
그러나 12.2 이전 버전에서 업그레이드하는 경우 참조토토 핫 PostgreSQL : 문서 : 12 : E.21. 릴리스 12.2.
다음으로 가능한 실패를 수정하세요.생성됨열(데이비드 로울리)§
만약에생성됨열의 값은 테이블의 다른 열의 정확한 복사본이며(그리고 참조에 의한 전달 데이터 유형입니다) 테이블에 손상된 데이터가 충돌하거나 삽입될 수 있었습니다. a에게는 다소 무의미하지만생성됨다른 열을 복제하기 위한 표현식, 때로는 입력을 변경하지 않고 반환하는 함수를 사용하는 표현식이 상황을 만들 수 있습니다.
생성된 열의 상속을 더 잘 처리합니다(Peter Eisentraut)§
테이블 열이 상속되는 동안테이블 생성 ... 상속, 상위 열이 이미 표시된 경우 생성 속성 변경을 허용하지 않습니다.생성됨; 하지만 하위 열은 표시되도록 허용합니다.생성됨부모가 아닐 때.
교차 열 참조 수정생성된 항목을 포함하는 것과 같은 테이블 생성(피터 아이젠트라우트)§
테이블 만들기...좋아요복사 시도 중 실패함생성됨물리적으로 나중에 열을 참조하는 표현식입니다.
전파테이블 변경...저장소 설정색인에 (Peter Eisentraut)§
비표현식 색인 열은 항상 다음을 복사했습니다.attstorage생성 시 테이블 열의 속성입니다. 다음과 같은 경우 업데이트하세요.테이블 변경...저장소 설정일관성을 유지하기 위해 완료되었습니다.
보존클러스터되지 않음다음에 의해 다시 작성된 색인 설정테이블 변경(아미트 랑고테, 저스틴 프리즈비)§
이전에는,테이블 변경어떤 색인이 사용되었는지 추적되지 않음클러스터.
다음에 의해 다시 작성된 색인의 복제본 ID 속성을 보존합니다.테이블 변경(Quan Zongliang, 피터 아이젠트라우트)§
보존클러스터되지 않음재구축된 인덱스 설정동시에 재색인(저스틴 프리즈비)§
다음 중 객체를 더 빨리 잠급니다.드롭 소유자(알바로 에레라)§
이것은 다른 세션이 동일한 개체 중 일부를 삭제하는 경합 상황의 실패를 방지합니다.
다음에 대한 오류 사례 처리 수정역할 만들기 ... 역할무지개 토토(앤드류 기어스)§
일부 오류 사례는 다음과 같이 보고됩니다.“107PostgreSQL: 문서: 12: E.20. 무지개 토토 12.365”또는 의도한 메시지 대신에.
파티션이 분리될 때 이전 상위 테이블에서 복제된 모든 트리거가 제거되는지 확인하십시오(Justin Pryzby)§
다음과 같은 경우 충돌 수정콜레이트파티션 바운드 표현식의 조합할 수 없는 유형에 적용됨(Dmitry Dolgov)§
분할된 테이블의 고유 인덱스가 분할 키(Guancheng Luo)의 동등 의미와 일치하는지 확인하세요.§
이것은 평등에 대한 특이한 개념을 가진 색인 opclass에만 문제가 될 수 있지만 이론상으로는 잘못된 것이므로 확인하십시오.
다음 구성원을 확인하세요.pg_read_all_stats역할은 예상대로 모든 통계 보기를 읽을 수 있습니다(Magnus Hagander)§
기본 기능pg_stat_progress_*조회수는 이 메모를 받지 못했습니다.
수리 성능 회귀information_schema.트리거보기 (톰 레인)§
이 패치는 해당 보기를 재정의하여 외부어디테이블 이름을 제한하는 절을 뷰에 푸시다운하여 데이터베이스의 모든 트리거가 아닌 관심 테이블에 속한 트리거에 대해서만 계산을 수행할 수 있습니다. 트리거가 많은 데이터베이스에서 이는 해당 형식의 쿼리에 상당한 속도 차이를 만듭니다. v11 이전에는 그런 식으로 작동했으므로 이는 잠재적인 성능 저하입니다. 이것이 문제라고 생각하는 사용자는 보기 정의를 바꾸거나 전체를 삭제하고 다시 설치하여 문제를 해결할 수 있습니다.information_schema스키마).
부동 소수점 오버플로/언더플로 감지 성능 회귀 복구(Emre Hasegeli)§
이전 리팩토링으로 인해 다음이 발생했습니다.isinf()일부 핫 코드 경로무지개 토토 추가 시간이 호출됩니다.
구문 검색 위의 NOT을 올바르게 처리하도록 전체 텍스트 검색 수정(Tom Lane)§
다음과 같은 쿼리!(foo<-bar)GiST 또는 GIN 인덱스 검색으로 구현 시 일치하는 행을 찾지 못했습니다.
구문 검색에 접두어 일치 및 무게 제한이 모두 있는 항목이 포함된 경우에 대한 전체 텍스트 검색 수정(Tom Lane)§
버그 수정gin_fuzzy_search_limit처리 중 (Adé Heyward, Tom Lane)§
작은 값gin_fuzzy_search_limit실수로 동일한 색인 페이지를 여러 번 다시 스캔하면 예상치 못한 속도 저하가 발생할 수 있습니다. 다른 코드 경로가 의도한 필터링을 전혀 적용하지 못했기 때문에 너무 많은 값을 반환했을 수 있습니다.
유형 입력 허용원형식을 수락하려면“(”문서에 나와 있듯이 (David Zhang)§x,y),r
만들으세요get_bit()그리고set_bit()함수 대처바이테아256MB보다 긴 문자열(Movead Li)§
비트 번호 인수만이므로int4, 이러한 함수를 사용하여 긴 파일의 처음 256MB를 초과하는 비트에 액세스하는 것은 불가능합니다.바이테아. 우리는 논쟁을 다음과 같이 확장할 것입니다.int8v13무지개 토토는 그 동안 이러한 함수가 긴 문자열의 초기 하위 문자열무지개 토토 작동하도록 허용합니다.바이테아.
다음에서 파일을 찾을 수 없는 오류 무시pg_ls_waldir()및 관련 기능(Tom Lane)§
이것은 디렉토리 항목을 보는 시점과 시도하는 시점 사이에 파일이 제거되는 경우 경쟁 조건 실패를 방지합니다.통계()그것.
디렉토리에 대한 열린 파일 설명자 누출 가능성을 방지하세요.pg_ls_dir(), pg_timezone_names(), pg_tablespace_databases()및 관련 기능(Justin Pryzby)§ § §
an의 실제 유형을 올바르게 추론하기 위해 다형성 함수 유형 확인을 수정했습니다.임의 배열만 주어지면 출력anyrange입력(톰 레인)§
지원이 컴파일되지 않아 GSSAPI 연결이 거부되고 클라이언트가 대신 SSL을 시도하는 경우에 대한 서버의 연결 시작 논리 수정(Andrew Gierth)§
이로 인해 가짜가 발생했습니다.“지원되지 않는 프런트엔드 프로토콜”실패.
GSSAPI 암호화 중 메모리 누수 수정(Tom Lane)§
GSSAPI 암호화가 사용 중인 경우 백엔드와 libpq 모두 세션 중에 전송된 총 데이터 양에 해당하는 메모리를 누수합니다.
쿼리에서 사용된 집합 반환 함수에 대한 쿼리 수명 메모리 누수 수정발신절(안드레스 프로인트)§
여러 실행무지개 토토 해시된 하위 계획의 해시 테이블 누출 방지(Andreas Karlsson, Tom Lane)§
쿼리가 해시된 하위 계획을 충분히 여러 번 다시 실행하면 이 실수로 인해 심각한 메모리 팽창이 발생할 수 있습니다.
기획자의 무작동 도메인 강제 처리 개선(톰 레인)§
아무것도 하지 않는 도메인 강제가 표현식에서 완전히 제거되지 않은 일부 경우를 수정하세요.
다음과 같은 경우 충돌이 발생하지 않도록 하세요.REINDEX세션 종료 신호에 의해 종료됨(Tom Lane)§
다음에서 부정확할 수 있는 해시 조인 테이블 통계의 인쇄 방지설명(콘스탄틴 크니즈니크, 톰 레인, 토마스 먼로)§
힙 잘림 단계의 경과 시간 보고 수정진공 장황함(카사하라 타츠히토)§
삭제된 B-트리 인덱스 페이지가 적게 계산될 수 있는 문제 수정진공 장황함출력(Peter Geoghegan)§
B-트리 색인에서 가장 오래 삭제된 페이지에 대한 잘못된 부기 수정(Peter Geoghegan)§ §
이것은 언제인지 미묘하게 잘못된 결정을 내릴 수 있습니다.진공인덱스 정리 스캔을 건너뛸 수 있습니다. 하지만 사용자가 눈에 띄게 큰 영향을 미치지는 않을 것 같습니다.
타임라인 히스토리 파일을 읽거나 쓰는 모든 코드 경로무지개 토토 TimelineHistoryRead 및 TimelineHistoryWrite 대기 상태가 보고되는지 확인하세요(이케다 마사히로)§
표시 가능성 방지“대기 중”프로세스의 PS 상태무지개 토토 두 번(사와다 마사히코)§
다음과 같은 경우 경쟁 조건을 피하세요분석확장 통계 데이터에 대한 카탈로그 튜플을 대체합니다(Dean Rasheed)§
잘못 고려된 건너뛰기 삭제“중복”돌림 방지 진공청소기(Michael Paquier)§
이것은 자동 진공 작업이 동일한 진공 작업을 반복적으로 시도한 후 건너뛰는 루프에 빠질 수 있는 특수한 경우를 방지합니다.
INCLUDE'된 열이 B-트리 피벗 튜플무지개 토토 항상 제거되는지 확인하세요(Peter Geoghegan)§
이 실수는 드문 경우지만 공간을 낭비했지만 그 외에는 무해했습니다.
실패 후 남을 수 있는 유효하지 않은 TOAST 인덱스에 대처동시에 REINDEX(줄리앙 루오)§
실패한 후 유효한 색인 종속성이 남아 있는지 확인동시에 REINDEX(마이클 파퀴에)§
이전에는 이전 색인이 no로 남을 수 있었습니다.pg_dependent전혀 링크하므로 예를 들어 상위 테이블이 삭제되어도 삭제되지 않습니다.
autovacuum이 방금 삭제한 임시 스키마에 액세스하려고 시도하는 경우 실패 방지(Tom Lane)§
이 위험은 수퍼유저가 임시 스키마를 수동으로 삭제하는 경우에만 발생합니다. 이는 일반적인 관행은 아니지만 작동할 것입니다.
충돌 복구 중 WAL 세그먼트의 조기 재활용 방지(Jehan-Guillaume de Rorthais)§ §
충돌 복구 중에 보관 준비가 된 WAL 세그먼트는 보관되지 않고 잠재적으로 재활용되었습니다.
아카이브 복구 중 관련없는 타임라인 스캔을 피하십시오(호리구치 쿄타로)§
이것은 아카이브 저장소무지개 토토 존재하지 않는 WAL 파일을 가져오려는 많은 시도를 제거할 수 있으며 이는 아카이브 액세스가 느린 경우 유용합니다.
가짜 제거“이전 최상위 txn 기록 없이 기록된 하위 트랜잭션”논리적 디코딩 오류 확인 (Arseny Sher, Amit Kapila)§
이 조건은 다양한 시나리오무지개 토토 합법적으로 도달할 수 있으므로 확인 표시를 제거하세요.
WAL 데이터의 조기 제거로 인해 복제 슬롯 복사 후 실패 가능성 방지 (Masahiko Sawada, Arseny Sher)§
복제 슬롯이 다음과 같은지 확인하세요.io_in_progress_lock실패 코드 경로에서 무지개 토토됨(Pavan Deolasee)§ §
이로 인해 Walsender가 나중에 잠금을 기다리다가 멈출 수 있습니다.
논리적 복제에 의해 실행된 업데이트 중에 생성된 열이 올바르게 처리되는지 확인하세요(Peter Eisentraut)§
동기식 대기 관리의 경쟁 조건 수정(Tom Lane)§
변경 중synchronous_standby_names설정, 동기 커밋을 기다리는 트랜잭션을 해제해도 괜찮은지 여부에 대해 잘못된 결정을 내릴 수 있는 창이 있었습니다. Walsender 프로세스가 종료되고 즉시 다른 프로세스로 대체되는 경우 유사한 잘못된 결정에 대한 또 다른 위험이 존재했습니다.
몇 가지 오류 보고서에 누락된 SQLSTATE 값 추가 (사와다 마사히코)§
이벤트 트리거 함수를 일반 함수로 실행하는 것을 안정적으로 거부하도록 PL/pgSQL 수정(Tom Lane)§
메모리 누수 수정libpq사용 시sslmode=verify-full(로만 페쉬쿠로프)§
연결 시작 중 인증서 확인으로 인해 일부 메모리가 누출될 수 있습니다. 클라이언트 프로세스가 수명 동안 많은 데이터베이스 연결을 연 경우 이는 문제가 될 수 있습니다.
수정ecpg정의의 인수를 처리하려면“-”의미로“표준 입력무지개 토토 읽기”모든 플랫폼무지개 토토 (Tom Lane)§
충돌 수정psql실패한 연결을 다시 설정하려고 할 때(Michael Paquier)§
파일 이름 인수의 탭 완성을 허용psql의\gx명령 (Vik Fearing)§
추가pg_dump지원변경 ... 확장에 따라 다름(알바로 에레라)§ § §
pg_dump이전에는 이러한 방식으로 추가된 종속성을 무시하여 덤프/복원 중에 잊어버리게 만들었습니다.pg_upgrade.
수정pg_dumpRLS 정책 개체에 대한 의견 덤프(Tom Lane)§
에pg_dump, 이벤트 트리거 복원을 끝까지 연기합니다(Fabrízio de Royes Mello, Hamid Akhtar, Tom Lane)§ §
이것은 이벤트 트리거가 다른 개체의 복원을 방해할 수 있는 위험을 최소화합니다.
다음을 확인하세요pg_basebackup유효한 tar 파일을 생성합니다(Robert Haas)§
어떤 경우에는 0으로 이루어진 부분 블록이 파일 끝에 추가됩니다. 이는 일반적인 tar 버전에서는 무해한 것처럼 보이지만 POSIX 파일 형식 사양에 따르면 적합하지 않습니다.
만들다pg_checksums다른 테이블스페이스 하위 디렉터리 건너뛰기PostgreSQL주 버전(Michael Banck, Bernd Helmle)§
이러한 하위 디렉토리는 실제로 우리 데이터베이스 클러스터에 속하지 않으므로 처리해서는 안 됩니다.
임시 사본 무시pg_internal.initinpg_checksums및 관련 프로그램(Michael Paquier)§
인용 수정--인코딩, --lc-ctype그리고--lc-collate값생성된 DB유틸리티(마이클 파퀴에)§ §
기여/lo'slo_manage()트리거가 아닌 직접 호출하면 함수가 충돌함(Tom Lane)§
에기여/ltree, 오버플로로부터 보호트리그리고쿼리길이 필드(Nikita Glukhov)§
실패를 해결하려면기여/페이지검사'sbt_metap()가장 오래된_xact 값이 2^31-1을 초과할 때의 함수 (Peter Geoghegan)§
이러한 XID는 이제 음의 정수로 보고되는데 이는 좋지 않지만 오류를 던지는 것보다 낫습니다. v13은 출력 인수를 다음으로 확장합니다.int8보다 건전한 보고를 제공합니다.
캐시 참조 누출 수정contrib/sepgsql(마이클 루오)§
Windows에서는 포스트마스터의 로그 파일이 조기에 생성되지 않도록 하세요.pg_ctl 시작(알렉산더 라킨)§
이전 코딩으로 인해 포스트마스터가 쓸 수 없는 권한으로 파일이 생성될 수 있었습니다.
Windows에서 Unix 스타일 로케일 이름을 처리할 때 오류 방지 (Juan José Santamaría Flecha)§
Windows에서는 지원하는 프로그램에서 콘솔 VT100 호환 모드를 설정하세요.PG_COLOR채색(Juan José Santamaría Flecha)§
이것이 없으면 색상화 옵션은 실제로 작동하지 않습니다.
추가 괄호 요구 중지ereport()전화(안드레스 프로인드, 톰 레인)§
사용pkg-config, 가능한 경우 찾기 위해libxml2중구성(휴 맥마스터, 톰 레인, 피터 아이젠트라우트)§
만약pkg-config존재하지 않거나 다음에 대한 지식이 부족함libxml2, 우리는 여전히 쿼리합니다xml2-config이전과 같습니다.
이 변경으로 인해 빌드 프로세스가 중단될 수 있습니다.PostgreSQL기본이 아닌 버전 사용libxml2해당 버전을 넣어xml2-config안으로경로. 대신에 설정하세요.XML2_CONFIG기본값이 아닌 것을 가리킴xml2-config. 해당 방법은 이전 버전이나 최신 버전에서 작동합니다.PostgreSQL출시.
다음에 대한 Makefile 종속성 수정libpq그리고ecpg(Dagfinn Ilmari Mannsåker)§
MSVC 빌드에서 Python 경로 이름의 공백에 대처합니다(Victor Wagner)§
MSVC 빌드에서 더 많은 언어 설정과 함께 작동하도록 Visual Studio 버전 감지 수정(Andrew Dunstan)§
MSVC 빌드에서는 다음을 사용하세요.-Wno-더 이상 사용되지 않음Bison 3.0보다 최신 버전, Windows 이외의 빌드에서는 이미 가능함(Andrew Dunstan)§
다음으로 시간대 데이터 파일 업데이트tzdata모로코와 캐나다 유콘의 DST 법률 변경 사항과 상하이의 역사적 수정 사항에 대한 2020a 릴리스입니다. (톰 레인)§ § §
America/Godthab 구역은 현재 영어 사용법을 반영하기 위해 America/Nuuk로 이름이 변경되었습니다. 그러나 이전 이름은 호환성 링크로 계속 사용할 수 있습니다.
또한 업데이트initdb의 알려진 Windows 시간대 이름 목록에 최근 추가 내용이 포함되어 해당 플랫폼의 시스템 시간대 설정을 올바르게 변환할 확률이 높아집니다.