E.2. 릴리스 13.19

출시 날짜 :2025-02-13

이 릴리스에는 13.18의 다양한 배트맨 토토 사항이 포함되어 있습니다. Major Release 13의 새로운 기능에 대한 정보는 참조스포츠 토토 PostgreSQL : 문서 : 13 : E.21. 릴리스 13.

thepostgresql커뮤니티는 2025 년 11 월 13.x 릴리스 시리즈의 업데이트 출시를 중단 할 것입니다. 사용자는 곧 새로운 릴리스 지점으로 업데이트하는 것이 좋습니다.

E.2.1. 버전 13.19로의 마이그레이션

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

그러나 13.17 이전 버전에서 업그레이드하는 경우 참조PostgreSQL : 문서 : 13 : E.4. 배트맨 토토 13.17.

E.2.2. 변화

  • HardenPQescapestring및 유효하지 않은 입력 문자열에 대한 동맹 기능 (Andres Freund, Noah Misch)§ § § § § § §

    Data-Quoting 함수에 의해 제공libpq이제 입력의 인코딩 유효성을 완전히 확인하십시오. 잘못된 문자가 감지되면 가능한 경우 오류를보고합니다.

    이 변경의 목적은 이러한 기능 중 하나가 제작 된 입력을 인용하는 데 사용되는 경우 가능한 SQL 주입 공격을 방지하는 것입니다. 결과 문자열이 a로 직접 전송 될 때 위험이 없습니다.postgresql서버 (어쨌든 인코딩을 확인할 것임)이지만 통과 할 때 위험이 있습니다PSQL또는 기타 클라이언트 측 코드. 역사적으로 그러한 코드는 신중하게 인코딩을 조사하지 않았으며, 많은 경우 그러한 문제를 감지했을 때 어떻게 해야하는지 명확하지 않습니다.

    이 배트맨 토토은 데이터 인용 기능, 서버 및 중간 처리가 사용되는 문자 인코딩에 동의하는 경우에만 효과적입니다. 신뢰할 수없는 입력을 SQL 명령에 삽입하는 응용 프로그램은 그것이 사실인지 확인하기 위해 특별한주의를 기울여야합니다.

    이것들을 사용하지 않고 신뢰할 수없는 입력을 인용하는 응용 프로그램 및 드라이버libpq기능은 비슷한 문제의 위험에 처할 수 있습니다. 먼저 서버에서 예상되는 인코딩에서 데이터가 유효한지 확인해야합니다.

    thepostgresqlProject Thanks Thanks Stephen이 문제를보고하는 데 적은 저수. (CVE-2025-1094)

  • 연결 권한 검사 및 한계에서 병렬 작업자 제외 (Tom Lane)§

    확인하지 마십시오datallowconn, rolcanloginacl_connect병렬 작업자를 시작할 때의 특권 대신 리더 프로세스가 원래 비슷한 점검을 통과하기에 충분하다고 가정합니다. 예를 들어, 리더가 로그인 권한이없는 역할로 실행중인 경우 병렬 쿼리의 예기치 않은 실패를 피합니다.예비 연결, datconnlimitrolconnlimit정기적 인 백엔드에 대한 제한 만 제한되며, 한도에 이미 도달했는지 확인하는 동안 정기적 인 백엔드 만 계산합니다. 이러한 제한은 일반 백엔드에 대한 프로세스 슬롯의 과도한 소비를 방지하기위한 것이지만, 평행 작업자 및 기타 특수 프로세스에는 자체 한계 점검이있는 자체 프로세스 슬롯 풀이 있습니다..

  • 유지TransactionXmin와 동기화MyProc-> Xmin(Heikki Linnakangas)§

    이 감독은 프로세스가 이미 진공 청소 된 데이터에 액세스 할 수 있도록 할 수 있습니다. 알려진 결과 중 하나는 일시적입니다거래 상태에 액세스 할 수 없음오류.

  • 카탈로그 캐시 목록 (Heikki Linnakangas)에 새로 삽입 된 카탈로그 항목을 추가하지 못할 수있는 레이스 조건을 배트맨 토토합니다.§

    예를 들어 기존 세션 내에서 새로 만들어진 기능을 사용하지 못한 결과가 발생할 수 있습니다.

  • 시스템 카탈로그가 업데이트 (Noah Misch)와 동시에 진공 상태로 진공 상태로 발생할 때 가능한 카탈로그 손상 방지§

  • 관계 자리가 실패 할 때 데이터 손상 배트맨 토토 (Thomas Munro)§ § §

    관계 자리를 수행하는 데 필요한 파일 시스템 호출은 실패 할 수 있으며, 디스크에 일관성이없는 상태를 남깁니다 (예 : 삭제 된 데이터를 효과적으로 부활). 우리는 실제로 그것을 막을 수는 없지만, 그러한 실패를 당황에 빠뜨리는 것을 통해 복구 할 수 있으므로, 잘라 내기 직전까지 WAL에서 재생하여 일관성이 회복됩니다.

  • 관계 자르기 중에 체크 포인트가 시작되는 것을 방지합니다 (Robert Haas)§

    이것은 체크 포인트를 완료하기 전에 배트맨 토토 된 파일이 fsync'd를 얻지 못할 수있는 레이스 조건을 피하기 때문에 곧 운영 체제가 충돌하면 데이터 손상의 위험이 생깁니다..

  • useRename ()notlink ()/Unlink ()파일 이름 바꾸기 (Nathan Bossart)§

    이전 코딩은 작업이 실수로 기존 파일을 덮어 쓸 수 없도록하기위한 것입니다. 그러나 실패는 존재하는 동일한 파일에 두 개의 링크를 남겨두고 후속 작업을 혼란스럽게하고 데이터 손상의 위험을 야기 할 수 있습니다.

  • 업데이트를 잃지 않으면pg_database.datfrozenxid언제진공A와 동시에 실행됩니다재 설계그 데이터베이스 소유자 (Kirill Reshke)를 변경합니다§

  • 잘못된 배트맨 토토TG_UPDATEDCOLS전달 된 값업데이트 후트리거 (Tom Lane)§

    경우에 따라TG_UPDATEDCOLS비트 맵은 동일한 트랜잭션에서 이전 명령으로 업데이트 된 열 세트를 설명하여 트리거가 잘못된 일을하는 데 속이고 있습니다.

    또한 너무 많은 사본을 만들어서 메모리 부풀어 오른 방지TG_UPDATEDCOLS비트 맵.

  • 의 잘못 처리 배트맨 토토TO_TIMESTAMP'sffn형식 코드 (Tom Lane)§

    직전의 정수 형식 코드ffn사용 가능한 모든 숫자를 소비 할 것입니다.ffn.

  • DEPARSING anxmltable ()expression, XML 네임 스페이스 이름이 필요할 때 두 번 인용되도록하십시오 (Dean Rasheed)§

  • 포함LDAPSCHEME옵션PG_HBA_FILE_RULES ()출력 (Laurenz Albe)§ §

  • 합병하지 마십시오Union열이 일관되지 않은 경우 작동 (Tom Lane)§

    이전에 우리는 병합하기에 안전한지 결정할 때 콜라주를 무시했습니다Union단일 n- 웨이로 들어가Union작동. 이것은 비 결정적 콜라주가 도입되기 전에 논란의 여지가 있었지만, 사용중인 콜라이트가 독창성의 정의에 영향을 줄 수 있기 때문에 더 이상은 아닙니다..

  • 파티션 가지 치기 단계에 대한 놓친 표현 처리 배트맨 토토 (Tom Lane)§

    이 감독은로 이어질 수 있습니다.인식되지 않은 노드 유형파티션 된 테이블에 액세스하는 쿼리에서 오류 및 기타 문제.

  • dshash 테이블이 1GB를 지나서 성장하도록 허용 (Matthias van de Meent)§

    이것은와 같은 오류를 피합니다.잘못된 DSA 메모리 Alloc 요청 크기. 예를 들어 수백만 개의 테이블을 처리하는 트랜잭션에서 발생할 수 있습니다.

  • 가능한 정수 오버플로를 피하십시오BringetBitMap ()(James Hunter, Evgeniy Gorbanyov)§

    결과는 통계적 목적으로 만 사용되기 때문에이 오류의 효과는 대부분 미용 적이었습니다.

  • Pages를 건너는 WAL 레코드 (Kyotaro Horiguchi, Alexander Kukushkin)를 읽을 때 스트리밍 대기 서버가 무한히 반복되는 것을 방지합니다.§

    이것은 레코드의 연속이 다른 WAL 소스에서 읽어야하는 페이지에있을 때 발생합니다.

  • 초기 프로세스 스타트 업 동안 공황에 대한 치명적인 오류의 의도하지 않은 홍보 배트맨 토토 (Noah Misch)§

    이것은 가능성이없는 몇 가지 사례를 배트맨 토토합니다.panic : proc_exit () 아동 과정에서 호출.

  • 운영자 제품군 운영자 또는 지원 절차가 매달려있는 참조 (Tom Lane)가 될 수있는 케이스를 배트맨 토토합니다§ §

    경우에 따라 OID에 대한 참조가 여전히 남아있는 동안 데이터 유형을 삭제할 수 있습니다pg_amop또는PG_AMPROC. 그로 인해 즉각적인 문제가 발생하지는 않지만 소유 사업자 제품군을 떨어 뜨리려는 시도는 실패하고pg_dump운영자 제품군을 버릴 때 가짜 출력을 생성합니다. 이 배트맨 토토은 운영자 패밀리/클래스의 생성 및 배트맨 토토을 유발하여 필요한 종속성 항목을 추가하여 데이터 유형을 삭제하면 종속 운영자 제품군 요소도 떨어집니다.드롭 운영자 가족회원이 매달려있는 가족을 떨어 뜨릴 때 실패를 방지하려면

  • 논리적 디코딩 출력에서 ​​다중 메모리 누출 배트맨 토토 (Vignesh C, Masahiko Sawada, Boyu Yang)§ §

  • 실패에 대한 검사 누락으로 인해 메모리 외부의 낮은 확률 충돌을 피하십시오malloc ()(Karina Litskevich)§

  • 테스트하는 동안 정수 오버플로를 피하십시오Wal_skip_threshold조건 (Tom Lane)§

    매우 큰 관계를 창출 한 트랜잭션은 실수로 관계를 fsync'ing 대신 WAL에 복사하여 내구성을 보장하기로 결정할 수 있습니다.Wal_skip_threshold. (이것은 만 중요합니다Wal_level로 설정되었습니다최소, 그렇지 않으면 WAL 사본이 필요합니다.)

  • 캐시 조회 중 안전하지 않은 작동 순서 배트맨 토토 (Noah Misch)§

    유일한 알려진 결과는 일반적으로 harmless입니다.당신은 type exclusivelock의 잠금을 소유하지 않습니다경고 중그랜트 테이블 스페이스.

  • 가능한 배트맨 토토이름을 해결하지 못했습니다오래된 ARM 플랫폼에서 JIT를 사용할 때의 실패 (Thomas Munro)§

    이것은 기본 설정에 대한 불일치의 결과로 발생할 수 있습니다-moutline-acomicsGCC와 Clang 사이. 적어도 Debian과 Ubuntu는 ARMV8-A를 대상으로하지만 기본적으로 개요 원자의 사용에 따라 GCC 및 Clang 컴파일러를 배송하는 것으로 알려져 있습니다.

  • WindpostgresqlOrigin (Thomas Munro)§ §

    이전,initdb데이터 디렉토리 경로에 확장이없는 접합 지점이 포함되어 있으면 실패합니다.드라이브 절대형식, 또는 확장이 다른 정션 지점을 가리킨다.

  • 어설 션 실패 배트맨 토토재귀와 ... Union쿼리 (David Rowley)§

  • 정해진 조작 잎 쿼리에 설정된 작업이 포함 된 경우 규칙 퇴직에서 어설 션 실패 방지§

  • 병렬 쿼리 시작 (Tom Lane)에서 에지 케이스 어설 션 실패 방지§

  • 관계 자르기 중에 희귀 한 주장 실패를 피하십시오 (Heikki Linnakangas)§

  • innullif (), 데이터 유형의 평등 함수 (Tom Lane)에 대한 읽기 낭비 확장 객체 포인터를 전달하지 마십시오.§

    동등 함수는 객체가 읽기 쓰기 포인터가 주어지면 개체를 배트맨 토토하거나 삭제할 수 있습니다.nullif ()결과. 내장 평등 함수에는 문제가 없지만 PL/PGSQL에 코딩 된 하나의 실패를 쉽게 입증하기가 쉽습니다.

  • PL/Python (Mat Arye, Tom Lane)의 메모리 누출 수리§

    반복 사용plyplan.execute또는또는호출 PL/Python 함수 기간 동안 메모리 누출이 발생했습니다.

  • TCL 9 (Peter Eisentraut)로 컴파일하려면 pl/tcl을 배트맨 토토합니다.§

  • inECPG사전 처리기, 소외된 변수 (Tom Lane)를 참조하는 커서의 잘못 처리 가능한 배트맨 토토§

  • inECPG, 지원되지 않은 사용에 대한 컴파일 타임 경고 배트맨 토토Copy ... From Stdin(Ryo Kanbayashi)§

    이전에, 의도 된 경고는 오타로 인해 발행되지 않았습니다.

  • 배트맨 토토PSQLSJIS (Tom Lane)에서 인코딩 된 파일 경로 이름을 안전하게 처리하려면§

    SJI의 일부 2 바이트 문자는 ASCII BackSlash (와 동일한 두 번째 바이트가 있습니다.\). 이 문자는 경로 이름 정규화에 의해 손상되어 이름이 포함 된 파일에 대한 액세스를 방지합니다.

  • 잘못된 버전의 사용 배트맨 토토pqsignal ()inpgbenchandPSQL(Fujii Masao, Tom Lane)§

    이 오류는를 사용할 때 오해로 이어질 수 있습니다-t옵션pgbench또는\ watch명령에서PSQL, 예상대로 재개되지 않은 시스템 호출이 중단되기 때문에.

  • 중첩 된 일부의 미학적 배트맨 토토\ if구성pgbench(Michail Nikolaev)§

    an\ if거짓 내에 나타나는 명령 (사제가 아닙니다)\ if지점이와 동일하게 잘못 처리되었습니다.\ elif.

  • inpgbench, 테이블 초기화 중 진행중인 오해의 실수를 배트맨 토토합니다 (Yushi Ogiwara, Tatsuo Ishii, Fujii Masao)§ §

  • 만들기PG_CONTROLDATA손상된 것에 대한 강력한 강력한PG_CONTROL파일 (Ilyasov Ian, Anton Voloshin)§

    이후PG_CONTROLDATA의 내용을 인쇄하려고 시도합니다PG_CONTROLCRC 검사가 실패하더라도 잘못된 필드 값을 잘못 행동하지 않아야합니다. 이 패치는 유효하지 않은 타임 스탬프와 분명히 음성 WAL 세그먼트 크기로 트리거 된 일부 문제를 배트맨 토토합니다.

  • 가능한 충돌 배트맨 토토pg_dumpExtension Members (Tom Lane) 인 테이블에 첨부 된 ID 시퀀스가있는§

  • 배트맨 토토pg_basebackup올바르게 처리하려면pg_wal.tarWindows에서 2GB를 초과하는 파일 (Davinder Singh, Thomas Munro)§ §

  • ARM CRC 명령어 (Tom Lane)에 액세스하는 데 필요한 컴파일러 스위치를 결정하는 구성 프로브 업데이트§

    기준선 CPU 대상에 CRC 지침이없는 ARM 플랫폼에서를 공급해야합니다-march컴파일러를 설득하여 그러한 지침을 컴파일하도록 설득하십시오. 최근 버전의 GCC는 우리가 시도한 가치를 거부하여 Software CRC로 조용히 떨어지게됩니다.

  • 동안구성, C23 컴파일러가 감지되면 C17 (Thomas Munro)을 요청하십시오.§

    postgresqlV16 이전의 버전은 C23 규칙에 따라 컴파일되지 않습니다. 선택한 컴파일러가 기본적으로 C23 이상으로 기본적으로 a를 추가 해보십시오.-std = gnu17전환하여 변경하십시오. (컴파일러에 대해 작동하지 않으면 수동으로 지정cflags적절한 스위치 포함.)

  • 시간대 데이터 파일 업데이트TZDATAParaguay의 DST 법률 변경을위한 릴리스 2025A 및 필리핀의 역사적 교정 (Tom Lane)§

정정 제출

문서에 올바른 것이없는 것이 있으면 일치하지 않습니다.이 양식문서 문제를보고하려면