토토 커뮤니티 14.1, 13.5, 12.9, 11.14, 10.19 및 9.6.24토토 사이트 추천 : 토토 사이트 추천 14.1, 13.5, 12.9, 11.14, 10.19 및 9.6.24 release!. 이것은 9.6 시리즈의 마지막 릴리스이므로 업그레이드 계획을 아직 조치를 취하지 않으셨다면 조치를 취하세요.
Pgpool-II 4.3 beta1 연결 풀러 및 명령문 복제 시스템 포스트그레SQL,해제
토토 커뮤니티용 다중 스레드 연결 풀러인 Odyssey 1.2가 출시되었습니다. https://github.com/yandex/odyssey/releases
pgbouncer 1.16.1, 토토 커뮤니티용 연결 풀러 및 기타 기능,해제
https://archives.토토 커뮤니티.org/pgsql-jobs/2021-11/
플래닛 토토 커뮤니티:https://planet.토토 커뮤니티.org/
토토 커뮤니티 주간 뉴스는 David Fetter가 이번 주에 여러분에게 전해 드립니다.
뉴스 및 공지사항을 일요일 오후 3시(PST8PDT)까지 david@fetter.org로 제출하세요.
David Rowley가 밀었습니다:
톰 레인이 밀렸습니다:
SSL 또는 GSS 암호화 핸드셰이크 후 외부 데이터를 거부합니다. 서버 클라이언트에서 데이터를 읽을 때마다 최대 버퍼로드의 데이터를 수집합니다. 소켓. 시작 시 SSL 또는 GSS 암호화가 요청되면 초기 요청 메시지와 함께 수신된 추가 데이터는 버퍼링되며 암호화가 완료되면 이미 해독된 데이터로 처리됩니다. 악수 완료. 따라서 데이터를 주입할 수 있는 능력을 갖춘 중간자 TCP 연결에 연결하면 일부 일반 텍스트 데이터가 시작 부분에 채워질 수 있습니다. 아마도 암호화로 보호된 데이터베이스 세션입니다. 이는 악용될 수 있습니다. 위조된 SQL 명령을 서버에 보냅니다. 단, 이는 다음과 같은 경우에만 작동합니다. 서버가 인증 데이터를 요구하지 않았습니다. (단, 서버에 의존하는 경우 SSL 인증서 인증은 그렇지 않을 수도 있습니다.) 문제를 해결하려면 내부 버퍼가 비어 있지 않으면 프로토콜 위반 오류가 발생합니다. 암호화 악수. 이 내용을 보고해 주신 Jacob Champion에게 감사드립니다. 문제. 보안: CVE-2021-23214https://git.토토 커뮤니티.org/pg/commitdiff/28e24125541545483093819efae9bca603441951
libpq: SSL 또는 GSS 암호화 핸드셰이크 후 외부 데이터를 거부합니다. libpq 소켓에서 데이터를 읽을 때마다 최대 버퍼로드의 데이터를 수집합니다. 시작 시 SSL 또는 GSS 암호화가 요청되면 추가 데이터가 서버의 예 또는 아니요 응답과 함께 수신된 내용은 버퍼에 남아 있으며 암호화 핸드셰이크가 완료되면 이미 해독된 데이터로 처리됩니다. 따라서 TCP에 데이터를 주입할 수 있는 능력을 갖춘 중간자 연결은 아마도 일부 일반 텍스트 데이터를 시작 부분에 채울 수 있습니다. 암호화로 보호된 데이터베이스 세션. 이것은 아마도 남용될 수 있습니다 클라이언트의 처음 몇 개의 쿼리에 가짜 응답을 삽입합니다. libpq의 동작에 대한 세부 사항은 생각보다 어렵습니다. 다른 라인 공격의 목적은 클라이언트의 비밀번호나 기타 민감한 데이터를 유출하는 것입니다. 세션 초반에 전송될 수 있습니다. 이는 다음과 같은 방법으로 가능한 것으로 나타났습니다. 서버는 CVE-2021-23214에 취약합니다. 해결하려면 프로토콜 위반 오류를 발생시키세요. 암호화 핸드셰이크 이후 내부 버퍼가 비어 있지 않은 경우. 우리의 이 문제를 보고해 주신 Jacob Champion에게 감사드립니다. 보안: CVE-2021-23222https://git.토토 커뮤니티.org/pg/commitdiff/160c0258802d10b0600d7671b1bbea55d8e17d45
잘못된 형식 자리표시자를 수정하세요. 빌드팜별 경고.https://git.토토 커뮤니티.org/pg/commitdiff/b0cf5444f9a8d915b2e9b44790025f17a7dc107f
026_overwrite_contrecord.pl 테스트의 불안정성을 수정했습니다. 우리는 간헐적으로 보았습니다. 느린 빌드팜 머신에서 이 테스트가 실패할 수 있다고 생각합니다. autovacuum이 추가 WAL을 방출한다고 가정하여 설명합니다. 비활성화 이를 안정화하기 위해 autovacuum을 수행합니다. 전달할 때 숫자 비교가 아닌 문자열 비교를 사용하십시오. WAL 파일 이름을 비교합니다. 현재는 중요하지 않지만 16진수입니다. 문자열이 십진수가 아닙니다 ... 토론:https://postgr.es/m/1372189.1636499287@sss.pgh.pa.us https://git.토토 커뮤니티.org/pg/commitdiff/b66767b56b1cd082f3499a7e5a21b480dd004f51
문서: 논리적 복제 유형 메시지에 대한 프로토콜 사양을 개선합니다. 프로토콜.sgml은 Type 메시지의 레이아웃을 문서화했지만 완전히 삭제되었습니다. 그렇지 않으면 공이 무엇인지, 언제 보내졌는지 설명하지 못한 경우, 또는 왜 좋은지. 그 동안 약간의 복사 편집을 수행하십시오. 관계 메시지에 대한 설명입니다. 지나가는 동안에 대한 설명을 조정하십시오. apply_handle_type()을 사용하면 다음과 같은 경우 아무것도 하지 않기로 선택했음을 더 명확하게 알 수 있습니다. Type 메시지를 받는 것은 전혀 쓸모가 없다고 생각하는 것이 아닙니다. 당 스티븐 힐먼의 질문입니다. 토론:https://postgr.es/m/CAPgW8pMknK5pup6=T4a_UG=Cz80Rgp=KONqJmTdHfaZb0RvnFg@mail.gmail.com https://git.토토 커뮤니티.org/pg/commitdiff/c3b33698cf88550b017620f73b94b53029897f39
socklen_t에 대해 int가 아닌 unsigned int로 대체합니다. 동전던지기 중 어느 것인가요? 이것이 더 나은 기본 가정입니다. 그러나 우리가 보유하고 있는 기계 중 buildfarm에서 fallback socklen_t 정의에 의존하는 유일한 것은 다음과 같습니다. 고대 HPUX이며 해당 플랫폼에서는 unsigned int가 올바른 선택입니다. 미성년자 ee3a1a5b6으로 조정하세요. 토론:https://postgr.es/m/1440792.1636558888@sss.pgh.pa.us https://git.토토 커뮤니티.org/pg/commitdiff/01ec41a5fe4aa590dde18a2c551432aa1925caea
postgres_fdw: 제한된 경우에 상수에 대한 캐스트를 억제합니다. 분해할 때 "remote_var OP 상수" 형식의 표현에서는 일반적으로 캐스트를 적용합니다. 원격 파서가 동일한 유형이라고 생각하는지 확인하는 상수 우리는 그렇습니다. 그러나 그렇게 할 필요가 없는 경우가 많으며 다음과 같은 경우 문제가 발생합니다. 사용자가 의도적으로 로컬 열을 다른 열로 선언했습니다. 원격 열보다 유형을 입력하십시오. 이에 대한 그럴듯한 사용 사례는 텍스트를 사용하는 것입니다. 원격 측의 열거형 유형을 나타냅니다. 이와 같은 비교 열은 "var = 'foo'::text"로 배송되며, 이는 리모콘에서 폭발합니다. enum = text 연산자가 없기 때문입니다. 하지만 단순히 그 내용을 그대로 놔두면 명시적 캐스트를 사용하면 비교가 사용자가 원하는 대로 정확하게 수행됩니다. 그것은 의미론적 문제의 큰 위험 없이 이를 수행하는 것이 가능합니다. "연산자의 피연산자 중 하나가 유형인 경우"라는 오랜 파서 경험적 방법 알 수 없음, 다른 하나는 알려진 유형을 갖고 있지만 알 수 없는 피연산자는 다음과 같이 가정합니다. 그것도 그런 종류야." 따라서 이 패치는 (a) 다음과 같은 경우에만 캐스트를 제외합니다. 연산자 입력은 로컬에서 동일한 유형을 갖습니다. (b) 상수는 다음과 같이 인쇄됩니다. 문자열 리터럴 또는 NULL. 둘 다 처음에는 알 수 없는 유형으로 간주됩니다. 그리고 (c) Const가 아닌 입력은 일반 외부 Var입니다. 규칙 (c)는 다음을 보장합니다. 원격 파서는 Const가 아닌 입력의 유형을 알게 됩니다. 게다가 그 뜻은 이 캐스트 생략이 의미론적 놀라움을 야기한다면, 그것은 오직 로컬 열의 유형이 원격 열과 다른 경우에 발생합니다. 칼럼. 어쨌든 작동이 보장되지는 않았으며 이번 패치는 그러한 경우에 대한 순 유용성 이득을 나타냅니다. 나(tgl)가 남는 1점 약간 불편한 점은 암시적인 RelabelType을 무시한다는 것입니다. Const가 아닌 입력이 일반 Var인지 결정할 때. 그러다보니 좀 그렇지 리모콘이 Const를 동일한 것으로 해결해야 한다고 주장하기에는 질퍽합니다. 유형을 Var로 지정하면 Const가 Var와 동일한 유형이 아니기 때문입니다. 그러나 그렇게 하지 않으면 사용자가 다음과 같은 경우 이 해킹이 원하는 대로 작동하지 않습니다. 일부 원격 열을 나타내기 위해 텍스트 대신 varchar를 사용하기로 선택했습니다. 그 유용할 것 같으니 지금은 이렇게 하세요. 우리는 포기해야 할 수도 있습니다 문제가 발생하면 RelabelType을 무시합니다. Dian Fay, 리뷰 및 내가 kibitzing 토론:https://postgr.es/m/C9LU294V7K4F.34LRRDU449O45@lamia https://git.토토 커뮤니티.org/pg/commitdiff/f8abb0f5e114d8c309239f0faa277b97f696d829
psql의 \password 기본값을 PQuser(conn)가 아닌 CURRENT_USER로 설정하십시오. 는 문서에는 \password가 "현재 사용자"에게 작용한다고 분명히 나와 있습니다. 기본값. 실제로 조치를 취했거나 시도한 것은 로그인에 사용된 사용자 이름이었습니다. 현재 세션으로 들어갑니다. 그 이후로 한 적이 있다면 이것은 같은 일이 아닙니다 역할을 설정하거나 세션 인증을 설정하세요. 가능한 놀라움을 제외하고 따라서 현재 역할에 다음 작업에 대한 권한이 없을 가능성이 높습니다. 원래 역할의 비밀번호를 설정합니다. 문제를 해결하려면 'SELECT CURRENT_USER'를 사용하세요. 작업할 역할 이름을 가져옵니다. (이 구문은 적어도 이전 서버에서 작동합니다. 7.0.) 또한 혼란을 줄이기 위해 역할 이름을 포함시킵니다. 비밀번호 프롬프트에서 조치를 취하세요. 문서와의 불일치 이는 버그이므로 지원되는 모든 브랜치에 백패치를 적용하세요. 내가 패치했습니다. 검토해 주신 Nathan Bossart에게 감사드립니다. 논의:https://postgr.es/m/747443.1635536754@sss.pgh.pa.us https://git.토토 커뮤니티.org/pg/commitdiff/d6eb5a0c258d3da5471814bcc6ed6498129fee16
로버트 하스가 밀었습니다:
종료되지 않은 tar 아카이브 문제에 대한 최소한의 수정. 커밋 23a1c6578c87fca0e361c4f5f9a07df5ae1f9858 pg_basebackup의 기능이 향상되었습니다. tar 아카이브를 구문 분석할 뿐만 아니라 필요할 때만 구문 분석하도록 구성되어 있습니다. 아카이브 내용에 대한 일부 수정. 그게 문제인데 왜냐면 서버는 실제로 tar 아카이브를 종료하지 않습니다. 새로운 구문 분석 논리가 참여했다면 pg_basebackup은 tar 파일을 적절하게 종료하지만, 건너뛰었다면 pg_basebackup은 서버에서 가져온 내용을 모두 쓸 것입니다. 터미네이터가 사라졌다는 뜻이다. 대부분의 tar 버전은 기꺼이 누락된 터미네이터를 간과했지만 AIX 빌드팜 동물은 그렇지 않았습니다. 수정 맹목적으로 터미네이터를 추가하는 새로운 종류의 bbstreamer를 발명함으로써 tar 아카이브를 구문 분석하지 않을 때마다 이를 사용합니다. 토론:http://postgr.es/m/CA+TgmoZbNzsWwM4BE5Jb_qHncY817DYZwGf+2-7hkMQ27ZwsMQ@mail.gmail.com https://git.토토 커뮤니티.org/pg/commitdiff/57b5a9646d97a3e8a5b6b6d86b375cc8da6ac85c
서버가 tar 아카이브를 적절하게 종료하도록 하십시오. 이전 버전의 PostgreSQL에는 tar를 편집하려는 pg_basebackup 버전이 있습니다. 아카이브를 보관했지만 제대로 구문 분석하기에는 너무 멍청했습니다. 서버가 뭔가를 만들었어요 0바이트의 두 블록을 추가하지 못함으로써 클라이언트가 더 쉽게 작업할 수 있습니다. tar 파일을 종료해야 하며 이를 수행하는 작업은 클라이언트에 맡겨야 합니다. 하지만 이후 23a1c6578c87fca0e361c4f5f9a07df5ae1f9858을 커밋하세요. 이 해킹은 필요하지 않습니다. 더군다나 pg_basebackup은 이제 더 똑똑해지고 tar 파일을 구문 분석할 수 있기 때문입니다. 제대로 종료되었습니다! 따라서 서버를 항상 올바르게 변경하십시오. tar 파일을 종료합니다. 이전 버전의 pg_basebackup은 새 버전과 대화할 수 없습니다. 어쨌든 서버이므로 호환성 문제가 없습니다. pg_basebackup 측에서, 우리가 대화하는 경우 종료 0바이트를 추가해야 한다는 것을 알 수 있습니다. 이전 서버이지만 서버가 v15+인 경우에는 그렇지 않습니다. 언젠가는 우리가 이 호환성 문제 중 일부를 제거할 수 있지만 매달아 두는 것이 가장 좋습니다. 지금은 그것에 대해. 전달하면서 bbstreamer_tar.c에 파일 헤더 설명을 추가합니다. 여기서 무슨 일이 일어나고 있는지 더 명확하게하기 위해. 논의:http://postgr.es/m/CA+TgmoZbNzsWwM4BE5Jb_qHncY817DYZwGf+2-7hkMQ27ZwsMQ@mail.gmail.com https://git.토토 커뮤니티.org/pg/commitdiff/5a1007a5088cd6ddf892f7422ea8dbaef362372f
'ThisTimeLineID' 추가 정리. XLogCtlData에서 구조 멤버의 이름을 바꿉니다. ThisTimeLineID를 InsertTimeLineID로 변경하고 주석을 업데이트하여 다음 사항을 명확히 합니다. 복구가 완료된 후에만 설정될 것으로 예상됩니다. StartupXLOG에서는 로컬 변수 ThisTimeLineID 및 PrevTimeLineID를 새 로컬로 바꿉니다. 변수 replayTLI 및 newTLI. 이전 체계에서는 ThisTimeLineID가 새로운 타임라인을 생성할 때까지 TLI를 재생하고 그 이후에는 TLI를 재생했습니다. PrevTimeLineID에 있습니다. 이제 replayTLI는 마지막으로 WAL을 재생한 TLI입니다. 전체 기능에 걸쳐 newTLI는 그것 또는 새로운 타임라인입니다. 프로모션을 통해 생성되었습니다. 댓글에서 오해의 소지가 있는 댓글을 삭제하세요. RecoveryTargetTimeLineGoal 및 친구가 선언된 바로 위의 블록입니다. 이제 변수로서의 ThisTimeLineID가 사라졌지만 rmgr 코드는 ThisTimeLineID를 신경 쓰지 않고 페이지 헤더의 TLI 필드가 용도 변경된 이후로 페이지 체크섬을 저장합니다. GetFlushRecPtr라는 주석을 추가하세요. 정상적인 실행에서 사용되어야 하며 이것이 맞는지 확인하는 어설션 그래서. Michael Paquier의 아이디어와 내 아이디어에 따라. 마이클의 검토 파퀴에도요. 논의:http://postgr.es/m/CA+TgmoY1a2d1AnVR3tJcKmGGkhj7GGrwiNwjtKr21dxOuLBzCQ@mail.gmail.com https://git.토토 커뮤니티.org/pg/commitdiff/a27048cbcb582056bfbf15aa2f898b4a3ec74304
basebackup.c의 어설션에서 thinko를 수정했습니다. 커밋 5a1007a5088cd6ddf892f7422ea8dbaef362372f는 다음과 같은 주장을 도입하려고 했습니다. 블록 크기는 tar 블록 크기의 두 배 이상이었지만 계산은 가능했습니다. 틀렸어. 내 오류가 목록에서 제외되었다고 보고되었습니다.https://git.토토 커뮤니티.org/pg/commitdiff/10eae82b27cebbb9586cda8baf8e3226496891d0
많은 상태 파일로 pgarch_readyXlog()의 성능을 향상시킵니다. 현재, archive_status 디렉토리는 아카이브할 각 파일에 대해 스캔되었습니다. 거기에 있을 때 archive_command가 오랫동안 실패했기 때문에 상태 파일이 많습니다. 시간이 지나면 이러한 디렉터리 검색이 매우 느려질 수 있습니다. 이번 변경으로 아카이버는 각 디렉터리 검색 중에 보관할 여러 파일을 기억하여 작업 속도를 높입니다. 위로. 타임라인 기록 파일을 최대한 빨리 보관하려면, XLogArchiveNotify()는 아카이버가 다음과 같은 경우 즉시 새 디렉터리 검색을 수행하도록 강제합니다. 하나에 대한 .ready 파일이 생성됩니다. Nathan Bossart, 오랜 토론에 따르면 많은 사람들이 참여합니다. 그 모든 사람들 중에서 정확히 누구인지는 나에게 확실하지 않습니다. 사람들은 이 특정 패치를 검토했습니다. 논의:http://postgr.es/m/CA+TgmobhAbs2yabTuTRkJTq_kkC80-+jw=pfpypdOJ7+gAbQbw@mail.gmail.com토론:http://postgr.es/m/620F3CE1-0255-4D66-9D87-0EADE866985A@amazon.com https://git.토토 커뮤니티.org/pg/commitdiff/beb4e9ba1652a04f66ff20261444d06f678c0b2d
Amit Kapila가 푸시됨:
후지 마사오가 밀었습니다:
Michaël Paquier가 푸시됨:
일관성을 위해 "ProcSignal"이라는 용어를 사용하여 일부 의견을 작성하세요. 주변 환경 procsignal.c에서는 "procsignal"보다는 "ProcSignal"을 사용하는 것을 선호합니다. 작성자: Bharath Rupireddy 토론:https://postgr.es/m/CALj2ACX99ghPmm1M_O4r4g+YsXFjCn=qF7PeDXntLwMpht_Gdg@mail.gmail.com https://git.토토 커뮤니티.org/pg/commitdiff/4cd046c203bbca2955182f78eabc06e831ffdbb1
XLogReadRecord()의 일부 호출자에 대한 오류 메시지를 개선합니다. 몇 가지 코드 논리적 디코딩과 관련된 경로(WAL 송신자, 슬롯 전진 등) 사용 XLogReadRecord(), walreader.c에서 생성된 오류 메시지를 제공합니다. 실패. 모든 메시지에는 맥락이 없으므로 파악하기가 더 어렵습니다. 이런 일이 발생하지 않아도 오류가 발생할 수 있습니다. 다른 모든 것 XLogReadRecord() 호출자는 이미 그렇게 하고 있습니다. 리뷰 작성자: 호리구치 쿄타로 토론:https://postgr.es/m/YYnTH6OyOwQcAdkw@paquier.xyz https://git.토토 커뮤니티.org/pg/commitdiff/c9c401a5e13accc4a3a775e3feeabdc5940c9178
clang-12~를 사용하여 PL/Perl에서 오는 컴파일 경고를 정리합니다. clang-12에는 -Wcompound-token-split-by-macro를 도입하여 많은 양의 업스트림 Perl과의 상호 작용으로 인해 PL/Perl을 빌드할 때 경고가 발생합니다. 이 커밋은 플래그가 다음과 같은 경우 ./configure 시간에 CFLAGS에 하나의 -Wno를 추가합니다. 모든 경고를 침묵시키기 위해 컴파일러에서 지원됩니다. 업스트림 Perl에는 이 문제는 해결되었지만 확산되기까지는 시간이 좀 걸릴 것입니다. 빌드팜 전반에 걸쳐 우리는 일부 동물이 유용할 것이라는 점을 알아냈습니다. 잘못된 자리 표시자를 감지하는 데 도움이 되는 추가 -Werror 포함 (b0cf544 참조), 단고무시는 하나입니다. 검토자: Tom Lane 토론:https://postgr.es/m/YYr3qYa/R3Gw+Sbg@paquier.xyz백패치 쓰루: 10https://git.토토 커뮤니티.org/pg/commitdiff/9ff47ea414c4e6ace347fc4e59866e38b9bbceaf
빈 입력으로 유니코드 문자열 정규화에서 버퍼 오버런을 수정합니다. PostgreSQL 13 및 최신 버전은 SQL을 통해 직접적인 영향을 받습니다. 함수 Normalize(), 이 함수 호출로 인해 다음과 같은 결과가 작성됩니다. 재구성 후 빈 문자열을 입력에 사용하는 경우 할당된 바이트를 초과합니다. NFC 및 NFKC가 포함된 문자열입니다. 이전 버전(v10~v12)은 직접적으로 정규화를 사용하는 유일한 코드 경로는 SASLprep이므로 이 문제의 영향을 받습니다. 빈 문자열의 대소문자를 금지하는 SCRAM 인증에서는 어쨌든 코드를 더 강력하게 만들어서 이것의 핵심 호출자 모두에게 기능이 다뤄집니다. 이 문제를 해결하기 위해 선택한 솔루션은 간단합니다. 분해된 문자열이 비어 있는 것으로 발견되면 빠른 종료 경로를 추가합니다. 이는 가장 낮은 수준의 코드 포인트와 같이 빈 문자열에 대해서만 발생합니다. 분해 테이블에 항목이 없으면 자체적으로 분해됩니다. 분해 크기가 0인 경우. 이 문제를 다루기 위해 일부 테스트가 추가되었습니다. v13에서~. 빈 문자열은 항상 정규화된 것으로 간주됩니다. (SQL 함수 is_normalized()를 통해 "IS NF[K]C,D NORMALIZED" 문법) 이 기능 이후 허용되는 모든 작업(NFC, NFD, NFKC 및 NFKD)에 대해 2991ac5부터 도입되었습니다. 이 동작은 변경되지 않았지만 일부 테스트에서는 이후 확인을 위해 v13~에 추가되었습니다. 나는 또한 "만들다"를 확인했다 src/common/unicode/에 있는 "normalization-check"가 있는 동안(13~에서 작동하며, 이 커밋과 관계없이 오래된 안정적인 브랜치를 중단합니다.) 릴리스 노트에서는 v13~에 대한 이 커밋을 언급해야 합니다. 보고자: Matthijs van der Vleuten 토론:https://postgr.es/m/17277-0c527a373794e802@토토 커뮤니티.org백패치 쓰루: 10https://git.토토 커뮤니티.org/pg/commitdiff/098c134556664d37b78ae87853a82f4a9d23a2c8
pg_stat_slru를 쿼리할 때 메모리 오버런을 수정합니다. pg_stat_get_slru() pgstatfuncs.c는 배열 끝 뒤에 있는 하나의 요소를 가리킵니다. 항목 스캔을 완료하면 PgStat_SLRUStats가 발생합니다. 이건 직접적인 내용이 없었어요 추가 메모리 영역의 데이터는 읽혀지지 않았지만 정적이기 때문에 결과가 발생합니다. 분석가는 여기서 정당하게 불평할 것입니다. 그러니 깨끗해지자. 그 동안, 이는 시스템 보기용으로 예약된 영역에 하나의 회귀 테스트를 추가합니다. 보고자: Alexander Kozhemyakin, AddressSanitizer를 통해 작성자: Kyotaro 호리구치 토론:https://postgr.es/m/17280-37da556e86032070@토토 커뮤니티.org백패치 통과: 13https://git.토토 커뮤니티.org/pg/commitdiff/a45ed975c58fde7303eeae488b313bf0314383f7
피터 아이젠트라우트가 밀었습니다:
accept() 인수 유형에 대한 확인을 제거합니다. 이 수표는 다음을 수용하는 데 사용되었습니다. 특히 세 번째 주장의 유형이 엄청나게 다양합니다. 수락(). 현재 지원되는 시스템에서는 더 이상 문제가 되지 않습니다. 우리 코드에서 socklen_t를 사용하고 대체하는 간단한 검사를 넣을 수 있습니다. socklen_t가 누락된 경우 소수의 낙오자를 처리하기 위해 int입니다. 검토자: 안드레스 프로인드andres@anarazel.de토론:/message-id/3538f4c4-1886-64f2-dcff-aaad8267fb82@enterprisedb.com https://git.토토 커뮤니티.org/pg/commitdiff/ee3a1a5b636b69dde33d68c428dd56b3389a4538
잘못된 형식의 자리표시자를 수정하세요.https://git.토토 커뮤니티.org/pg/commitdiff/733e0391536dad99a2677ca5e19291854da5730f
doc: CREATE/ALTER TABLE 개요에 참조 작업을 추가합니다. 장군 제약 조건 개요는 "referential_action"을 참조하지만 이는 더 이상 발생하지 않습니다. 시놉시스 섹션에 정의되어 있습니다. 디테일한 수준에 비해 개요는 다른 하위 조항에 제공되므로 반드시 거기에 있어야 합니다. 추출됨 Paul Martinez의 패치에서hellopfm@gmail.com토론:/message-id/Flat/CACqFVBZQyMYJV=njbSMxf+rbDHpx=W=B7AEaMKn8dWn9OZJY7w@mail.gmail.com https://git.토토 커뮤니티.org/pg/commitdiff/db9f287711ac49d9799f93f664d6d101ff8f5891
제프 데이비스가 밀었습니다:
Álvaro Herrera가 푸시됨:
Peter Geoghegan이 밀었습니다:
vacuumlazy.c에서 더 이상 사용되지 않는 참조를 업데이트합니다. 다음 사항에 대한 감독을 해결합니다. 7ab96cf6을 커밋합니다.https://git.토토 커뮤니티.org/pg/commitdiff/eb9baef8e92adf81c6adbe44f1d67878d850bff7
heap_page_prune() 여유 공간 지도 주석을 업데이트합니다. 그것은 에 달려있다 heap_page_prune() 호출자는 FSM 업데이트에 대해 무엇을 할지 결정합니다. 가지치기 후 페이지. 우리가 원하는 내용을 다루는 이전 주석을 업데이트하세요. heap_page_prune() 자체의 책임인 것처럼 수행합니다. heap_page_prune()에는 합리적인 수준의 컨텍스트가 충분하지 않습니다. 선택.https://git.토토 커뮤니티.org/pg/commitdiff/42f9427aa98a2245d29737e0f3b8aaf39a7f57ec
pgstats 회계 미묘함을 잘라내는 방법을 설명하세요. 이유를 설명하는 댓글을 추가하세요. 기회주의적 힙 정리 작업 중에 사용되는 pgstats 계정( 관계에서 현재 데드 튜플 수를 유지해야 함) 새로운 LP_DEAD 항목 수를 빼서 보상합니다. 이것은 LP_DEAD가 되는 튜플을 완전히 잊어버리지 않도록 필요합니다. 가지치기 중 항목 - 여전히 계산되어야 합니다. 하는 것이 더 자연스러운 것 같습니다. 관련된 유일한 통화 사이트에서 이 문제를 논의합니다(기회적 가지치기). 같은 문제가 유일한 다른 발신자(VACUUM 호출)에게는 적용되지 않기 때문입니다. 사이트). 거기에도 모든 것을 옮기십시오. 저자: Peter Geogheganpg@bowt.ie토론:https://postgr.es/m/CAH2-Wzm7f+A6ej650gi_ifTgbhsadVW5cujAL3punpupHff5Yg@mail.gmail.com https://git.토토 커뮤니티.org/pg/commitdiff/b0f7425ec2445678f32381de8bd3174d3cc2167e
Noah Misch가 밀었습니다:
앤드류 던스턴이 밀었습니다:
다니엘 구스타프손이 밀었습니다: