토토 캔 노트

토토 캔

E.4. 토토 캔 10.20

출시 날짜 :2022-02-10

이 토토 캔에는 10.19의 다양한 수정 사항이 포함되어 있습니다. Major Release 10의 새로운 기능에 대한 정보는 참조섹션 E.24.

the토토 캔커뮤니티는 2022 년 11 월 10.x 릴리스 시리즈의 업데이트 출시를 중단합니다. 사용자는 곧 새로운 릴리스 지점으로 업데이트하는 것이 좋습니다.

E.4.1. 버전 10.20으로의 마이그레이션

10.x.를 실행하는 사람들에게는 덤프/복원이 필요하지 않습니다.

그러나 10.19 이전 버전에서 업그레이드하는 경우 참조섹션 E.5.

E.4.2. 변화

  • 모든 인덱스 열을 반환 할 수없는 경우 (Tom Lane)에 대한 인덱스 전용 스캔 계획 수정

    인덱스에 리턴 가능 및 회전 불가능한 열이 모두 있고, 비 회전 불가능한 열 중 하나가 리턴 가능한 색인 열에 나타나는 테이블 열을 사용하는 표현식 인 경우, 해당 표현식을 사용하는 쿼리는 의도적 인 열에서 표현식에서 표현식을 읽는 대신 인덱스 전용 스캔 플랜을 초래할 수 있습니다. 회전 할 수없는 열은 NULL로 읽어서 쿼리 결과가 잘못되었습니다.

  • 지정되지 않은 타이프 모드로 주조하는 것이 길이 코커 함수 호출 대신 relabeltype 노드를 생성하는지 확인하십시오.

    강요 함수가 옳은 일을해야하지만 (아무것도),이 번역은 바람직하지 않은 비효율적입니다.

  • WAL 페이지 경계 (Álvaro Herrera)에서 데이터베이스 일관성에 정확히 도달 할 때 WAL 재생 고장 수정

  • 트랜잭션 ID 랩 어라운드 (Abhijit Menon-Sen, Tomas Vondra)를 견딜 수 있도록 물리 복제의 시작을 수정합니다.

    기본의 활성 트랜잭션 세트가 랩 어라운드 경계를 가로 지르는 동안 복제 서버가 시작된 경우 (따라서 기존 XID보다 작은 XID를 가진 새로운 트랜잭션이있는 경우) 복제본은 실패합니다.알려진 AssignEdXids의 XID 삽입 외부 XID 삽입. 복제본은 재 시도하지만 그 오류를 지나치지 않을 수는 없습니다.

  • 논리적 복제 연결 (Tom Lane)에서 발행 된 SQL 명령에 대한 어휘 제한 제거

    walsender 프로세스는 인용되지 않은 세미콜론을 포함하는 SQL 명령에 실패하거나 단일 또는 이중 견적 표시의 홀수가 포함 된 달러에 따른 리터럴 또는 SQL 명령이 주석으로 시작할 때 실패합니다. 또한 오류 복구가 잘못되면 이후 명령에서도 예상치 못한 오류가 발생할 수 있습니다.

  • 거래의 마지막 하위 변환에 대한 커밋 타임 스탬프의 가능한 손실 수정 (Alex Kingsborough, Kyotaro Horiguchi)

  • 확실히fsyncthePG_LOGICAL/MAPPING체크 포인트 중 서브 디렉토리 (Nathan Bossart)

    일부 파일 시스템 에서이 감독은 시스템 충돌 후 논리적 재 작성 상태 파일을 잃을 수 있습니다.

  • 분할 된 테이블 (Justin Pryzby)에 대한 확장 통계 빌드

    이전 버그 수정 이전 버그 수정 구식 상속 트리에 대한 확장 통계의 비활성화 된 건물이지만, 불필요한 제한이었던 파티션 테이블을 위해 건축을 방지하지 못했습니다. 이 변경이 가능합니다분석분할 된 테이블의 통계 개체에 대한 값을 계산합니다. (그러나 Autovacuum은 분할 된 테이블을 처리하지 않으므로 정기적으로 매뉴얼을 발행해야합니다분석그러한 통계를 유지하려면 분할 된 테이블에서.)

  • 상속 트리 (Justin Pryzby)에 대한 확장 통계를 무시합니다

    현재 확장 된 통계 값은 전체 상속 트리가 아닌 각 테이블에 대해 로컬로만 계산됩니다. 그러나 상속 트리를 가로 질러 쿼리를 계획 할 때 값은 실수로 상담되어 기절보다 더 나빠질 수 있습니다.

  • 파티션 된 테이블의 행 유형이 다른 곳에서 복합 유형으로 사용될 때 파티션 된 테이블의 열 변경 데이터 유형을 허용하지 않습니다

    이 제한은 일반 테이블에 오랫동안 존재 해 왔지만 감독을 통해 파티셔닝 된 테이블을 확인하지 않았습니다.

  • anallowALTER 테이블 ... DROP NULL복제 아이덴티티 인덱스 (Haiying Tang, Hou Zhijie)의 일부인 열의 경우

    기본 키 인덱스에 대해 이미 동일한 금지가 존재했습니다.

  • 전환시 캐시 된 테이블 상태를 올바르게 업데이트복제 아이덴티티색인 (Tang Haiying, Hou Zhijie)

    동시 세션은 어떤 인덱스가 복제 아이덴티티인지에 대한 의견을 업데이트하지 못하여 잘못된 논리적 복제 동작을 일으킬 수 있습니다..

  • 동안 메모리가 새는 동안재 설계많은 물체의 소유권을 재 할당하는 작업 (Justin Pryzby)

  • |삽입 ... 값규칙 (Tom Lane)

    전체 열 변수는로 인쇄됩니다.var.*그러나 규칙이 다시로드 될 때 개별 열로 확장 할 수 있으므로 의미론이 다릅니다. 우리가 다른 곳에서하는 것처럼 그것을 막기 위해 명시적인 캐스트를 부착하십시오.

  • 잘못된 주장을 수정하거나 제거합니다 (Simon Riggs, Michael Paquier, Alexander Lakhin)

    이러한 오류는 생산이 아닌 디버그 빌드에만 영향을 미칩니다.

  • 다중 스레드 사용에서 초기에보고 된 오류 메시지를 현지화하지 못하는 경주 조건을 수정하십시오libpq또는ecpglib(Tom Lane)

  • 전화 방지StrerrorFromlibpq'spqcancel함수 (Tom Lane)

    pqcancel신호 핸들러에서 호출하는 데 안전해야하지만Strerror안전하지 않습니다. 취소 메시지를 서버로 보내지 못하고 보고서의 부족을 설명 할 가능성이없는 이벤트에서만 발생했을 때만 발생했습니다.

  • makePSQL's\ password암호 설정 명령 기본값current_user, 연결의 원래 사용자 이름 (Tom Lane)이 아닙니다.

    이것은 문서화 된 동작에 동의하며, 가능성이있는 권한 실패를 피합니다.역할 설정또는세션 승인 설정세션이 시작된 이후로 완료되었습니다. 혼란을 방지하기 위해 행동 할 역할 이름이 이제 비밀번호 프롬프트에 포함되어 있습니다.

  • inPSQL및 일부 고객 프로그램, 호출을 피하십시오getText ()Control-C 신호 핸들러 (Tom Lane)에서

    보고 된 실패는이 실수로 추적되지 않았지만 안전한 일이 될 가능성은 거의 없을 것 같습니다.

  • 초기 비밀번호 프롬프트를 취소 허용pg_receivewalandpg_recvlogical(Tom Lane, Nathan Bossart)

    이전에는 암호를 제기하는 동안 Control-C를 통해 이러한 프로그램을 종료하는 것은 불가능했습니다.

  • 수정pg_dump's 사용자 정의 캐스트에 대한 덤프 순서 (Tom Lane)

    드문 경우, 출력 스크립트는 작성되기 전에 사용자 정의 캐스트를 참조 할 수 있습니다.

  • 오류의 오류를 잘못보고 할 수있는 수정pg_dumpandPG_BASEBACKUP(Tom Lane)

    이전 코드는 일부 커널 호출의 오류를 확인하지 못했고 다른 경우에 잘못된 errno 값을보고 할 수 있습니다.

  • 인덱스 전용 스캔 결과 수정contrib/btree_gistindexes onchar (N)열 (Tom Lane)

    인덱스 전용 스캔은 후행 공간이 제거 된 상태에서 반환 된 열 값을 제거했습니다. 이는 예상되는 동작이 아닙니다. 그것은 데이터가 인덱스에 저장된 방식이기 때문에 일어났습니다.char (N)공간 패딩의 예상 양이있는 값. 그러한 지수의 동작은 귀하가하지 않으면 즉시 변경되지 않습니다Reindexit; 그렇지 않으면 업데이트 중에 시간이 지남에 따라 공간 스트리핑 값이 점차적으로 대체됩니다.

  • 변경구성Python 's를 사용하려면Sysconfig더 이상 사용되지 않는 모듈Distutils모듈, pl/python을 구축하는 방법을 결정하려면 (Peter Eisentraut, Tom Lane, Andres Freund)

    Python 3.10을 사용하면 피해구성-시간 경고에 대한DistutilsPython 3.12에서 제거 될 예정이며 예약됩니다. 아마도 3.12가 나면구성-with-python완전히 실패합니다. 이 미래 방지는 비용이 듭니다 :SysconfigPython 2.7 이전에 또는 Python 3 Branch에서 3.2 이전에 존재하지 않았으므로 더 이상 긴 죽음의 Python 버전에 대해 PL/Python을 구축 할 수 없습니다.

  • perl 5.28 이상이있는 Windows에서 Pl/Perl 컴파일 고장 수정 (Victor Wagner)

  • Python 3.11 이후의 Pl/Python Compile Failure (Peter Eisentraut)

  • Visual Studio 2022 (Hans Buschmann)로 구축에 대한 지원 추가

  • 허용.BATMSVC 빌드 시스템의 래퍼 스크립트는 디렉토리 (Anton Voloshin, Andrew Dunstan)을 먼저 변경하지 않고 호출 할 수 있습니다.