토토 커뮤니티 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 연결 풀러 및 명령문 복제 시스템 토토 커뮤니티,릴리스
토토 커뮤니티의 다중 스레드 연결 풀러 인 Odyssey 1.2. https://github.com/yandex/odyssey/releases
pgbouncer 1.16.1, Connection Pooler 등 토토 커뮤니티,릴리스
https : //archives.토토 커뮤니티.org/pgsql-jobs/2021-11/
Planet 토토 커뮤니티 :https : //planet.토토 커뮤니티.org/
토토 커뮤니티 주간 뉴스가 이번 주 David Fetter에 의해옵니다
일요일 오후 3시에 PST8pdt로 David@fetter.org.
David Rowley가 추진 :
Tom Lane 추진 :
SSL 또는 GSS 암호화 핸드 셰이크 후 외부 데이터를 거부하십시오. 서버 클라이언트의 데이터를 읽을 때마다 데이터 버퍼로드를 수집합니다. 소켓. 시작 중에 SSL 또는 GSS 암호화가 요청되면 초기 요청 메시지가 포함 된 추가 데이터는 버퍼 및 암호화 후에 이미 결정된 데이터로 취급됩니다. 핸드 셰이크가 완료되었습니다. 따라서 데이터를 주입하는 능력이있는 중간의 사람 TCP 연결로 아마도 암호화로 보호 된 데이터베이스 세션. 이것은 남용 될 수 있습니다 가짜 SQL 명령을 서버로 보내지 만 서버는 인증 데이터를 요구하지 않았습니다. (그러나 서버가 의존합니다 SSL 인증서 인증은 그렇게하지 않을 수 있습니다.) 수정하려면 프로토콜-폭력 오류 내부 버퍼가 비어 있지 않은 경우 암호화 악수. 이것을보고 한 Jacob Champion에게 감사드립니다 문제. 보안 : CVE-2021-23214https : //git.토토 커뮤니티.org/pg/commitdiff/28E2412554154483093819EFAE9BCA603441951
LIBPQ : SSL 또는 GSS 암호화 핸드 셰이크 후 외부 데이터를 거부하십시오. libpq 소켓에서 데이터를 읽을 때마다 데이터 버퍼로드를 수집합니다. 시작 중에 SSL 또는 GSS 암호화가 요청되면 추가 데이터 서버의 예 또는 아니오 회신으로 수신 된 버퍼에 남아 있습니다. 암호화 핸드 셰이크가 완료되면 이미 결정된 데이터로 취급됩니다. 따라서 TCP에 데이터를 주입 할 수있는 능력이있는 중간의 사람 연결은 아마도 명확한 텍스트 데이터를 시작할 수 있습니다. 암호화로 보호 된 데이터베이스 세션. 이것은 아마도 남용 될 수 있습니다 다른 비록 고객의 첫 몇 가지 쿼리에 가짜 응답을 주입합니다. libpq의 행동에 대한 세부 사항은 소리보다 어렵게 만듭니다. 다른 줄 공격의 세션 초반에 발송 될 수 있습니다. 그것은 a CVE-2021-23214에 취약한 서버. 수정하려면 프로토콜-폭력 오류를 던지십시오 암호화 핸드 셰이크 후 내부 버퍼가 비어 있지 않은 경우. 우리의 이 문제를보고 한 Jacob Champion에게 감사드립니다. 보안 : CVE-2021-23222https : //git.토토 커뮤니티.org/pg/commitdiff/160258802d10b0600d7671bbea55d8e17d45
잘못된 형식 자리 표시 자 수정. BuildFarm 경고 당.https : //git.토토 커뮤니티.org/pg/commitdiff/b0cf5444f9a8d915b2e9b44790025f17a7dc107f
026_overwrite_contrecord.pl 테스트에서 불안정성을 고정합니다. 우리는 간헐적으로 보았습니다 이 테스트에서 느린 빌드 팜 머신에 대한 실패, Autovacuum이 일부 추가 WAL을 방출한다고 가정함으로써 설명합니다. 장애를 입히다 그것을 안정화시키는 autovacuum. 통과 할 때 숫자 비교가 아닌 StringWise를 사용하십시오 WAL 파일 이름을 비교합니다. 현재는 중요하지 않지만 16 진수입니다 소수점이 아닌 현악기 ... 토론 :https : //postgr.es/m/1372189.1636499287@sss.pgh.pa.us https : //git.토토 커뮤니티.org/pg/commitdiff/b66767b56b1cd082f3499a7e5a21b480dd004f51
DOC : 논리적 복제 유형 메시지의 프로토콜 사양을 향상시킵니다. Protocol.sgml은 유형 메시지의 레이아웃을 문서화했지만 완전히 삭제했습니다. 그렇지 않으면 공은 그들이 좋은 것. 그것에있는 동안, 약간의 사본 편집을하십시오 관계 메시지에 대한 설명. 통과하면 주석을 조정하십시오 apply_handle_type ()는 우리가 할 때 아무것도하지 않기로 선택한다는 것을 명확하게하기 위해 유형 메시지를받는 것은 전혀 사용하지 않는다고 생각하지 않습니다. 당 Stefen Hillman의 질문. 논의:https : //postgr.es/m/capgw8pmknk5pup6=t4a_ug=cz80rgp=konqjmtdhfazb0rvnfg@mail.gmail.com https : //git.토토 커뮤니티.org/pg/commitdiff/c3b3333698cf88550b017620f73b94b53029897f39
SOCKLEN_T를 위해 int가 아닌 서명되지 않은 int로 돌아갑니다. 동전 던지기입니다 이것들은 더 나은 기본 가정입니다. 그러나 우리가 가진 기계 중 BuildFarm, Fallback Socklen_T 정의에 의존하는 유일한 사람은 다음과 같습니다. 고대 HPUX, 그리고 그 플랫폼에서 서명되지 않은 INT가 올바른 선택입니다. 미성년자 EE3A1A5B6으로 조정합니다. 논의:https : //postgr.es/m/1440792.1636558888@sss.pgh.pa.us https : //git.토토 커뮤니티.org/pg/commitdiff/01ec41a5fe4aa590dde18a2c551432aa1925caea
Postgres_FDW : 제한된 경우 상수에 대한 캐스트를 억제합니다. an "remote_var op constant"형식의 표현, 우리는 일반적으로 캐스트를 원격 파서가 같은 유형이라고 생각하는지 확인하기위한 상수 우리는합니다. 그러나 그렇게하는 경우가 종종 필요하지 않으며 사용자는 의도적으로 로컬 칼럼을 다른 것으로 선언했습니다. 원격 열보다 유형. 그럴듯한 사용 사례는 텍스트를 사용하는 것입니다 원격쪽에 열거 된 유형을 나타냅니다. 그러한 비교 열이 "var = 'foo':: text"로 배송됩니다. Enum = 텍스트 연산자가 없기 때문에 측면. 그러나 우리가 단순히 떠나면 명백한 캐스트, 비교는 사용자가 원하는 것을 정확하게 수행합니다. 그것은 의미 론적 문제의 큰 위험 없이이 작업을 수행 할 수 있습니다. "연산자의 한 피연산자가 유형이라면"오랫동안 파서 휴리스틱 알 수 없음, 다른 하나는 알려지지 않은 피연산자라고 가정합니다. 또한 그 유형의 것 "입니다. 따라서이 패치는 (a) 작업자 입력은 로컬에서 동일한 유형을 갖습니다. (b) 상수는 a로 인쇄됩니다 문자열 리터럴 또는 널, 둘 다 처음에는 유형으로 알려지지 않은 것으로 간주됩니다. 그리고 (c) 비 콘스트 입력은 평범한 외국 var입니다. 규칙 (c) 원격 파서는 비 공동 입력의 유형을 알고 있습니다. 또한, 그것은 의미합니다 이 캐스트가 제시되면 의미 론적 놀라움을 일으킨다면 로컬 열이 원격과 다른 유형을 가진 경우 발생합니다. 열. 어쨌든 그것은 작동하지 않았 으며이 패치는 그러한 경우에 순간 유용성 이득을 나타냅니다. 내가 (tgl) 남아있는 한 가지 요점 약간 불편 함은 우리가 암시 적 relabeltype를 무시할 것이라는 점입니다. 비 초보 입력이 평범한 var인지 결정할 때. 그것은 조금 만듭니다 리모컨이 Const를 동일하게 해결해야한다고 주장하는 것은 squishy 우리의 const는 var와 같은 유형이 아니기 때문에 Var로 입력하십시오. 그러나 우리가 그렇게하지 않으면,이 핵은 사용자가 원하는대로 작동하지 않습니다. 원격 열을 나타 내기 위해 텍스트 대신 varchar를 사용하기로 선택합니다. 저것 유용한 것 같습니다. 지금은 이렇게하십시오. 우리는 포기해야 할 수도 있습니다 문제가있는 경우 relabeltype-inignoring 비트. Dian Fay, 검토 및 Kibitzing by Me 토론 :https : //postgr.es/m/c9lu294v7k4f.34lrrdu449o45@lamia https : //git.토토 커뮤니티.org/pg/commitdiff/f8abb0f5e114d8c309239f0faa277b97f696d829
PQUSER (CONN)가 아닌 PSQL의 \ Password 기본값을 current_user로 기본적으로 만듭니다. 그만큼 문서화는 \ password가 "현재 사용자"에 작용한다고 분명히 말합니다. 기본. 실제로 행동했거나 시도한 것은 사용자 이름이 로그에 사용되었습니다. 현재 세션으로. 그 이후로 한 경우와 같은 일이 아닙니다. 역할 또는 세션 인증을 설정합니다. 가능한 놀라움 외에 요소, 현재 역할에 원래 역할의 비밀번호를 설정하십시오. 수정하려면 "current_user를 선택하십시오"를 사용하십시오 역할 이름을 행동하십시오. (이 구문은 최소한 서버와 함께 작동합니다 7.0.) 또한 혼란을 줄이기 위해 비밀번호 프롬프트에서 행동하십시오. 문서의 불일치 이것을 버그로 만듭니다. 나에 의한 패치; 검토 해 주신 Nathan Bossart에게 감사드립니다. 논의:https : //postgr.es/m/747443.1635536754@sss.pgh.pa.us https : //git.토토 커뮤니티.org/pg/commitdiff/d6eb5a0c258d3da5471814bcc6ed6498129fee16
Robert Haas 추진 :
말지 않은 타르 아카이브 문제에 대한 최소 수정. 저지르다 23a1c6578c87fca0e361c4f5f9a07df5ae1f9858 개선 된 pg_basebackup의 능력 Tar Archives를 구문 분석하지만 우리가 만들 필요가있을 때만 구문 분석하기 위해 준비했습니다. 아카이브의 내용에 대한 일부 수정. 그것은 문제입니다. 왜냐하면 서버는 실제로 타르 아카이브를 종료하지 않습니다. 새로운 구문 분석 논리 일 때 PG_BASEBACKUP이 TAR 파일을 올바르게 종료 할 것이지만 건너 뛰었습니다. PG_BASEBACKUP은 서버에서 얻은 모든 것을 작성했습니다. 터미네이터가 누락되었음을 의미합니다. 대부분의 TAR 버전은 기꺼이합니다 누락 된 터미네이터를 간과했지만 AIX 빌드 팩 동물은 그렇지 않았습니다. 고치다 터미네이터를 맹목적으로 추가하는 새로운 종류의 BBStreamer를 발명함으로써 타르 아카이브를 구문 분석하지 않을 때마다 사용합니다. 논의:http : //postgr.es/m/ca+tgmozbnzswwm4be5jb_qhncy817dyzwgf+2-7hkmq27zwsmq@mail.gmail.com https : //git.토토 커뮤니티.org/pg/commitdiff/57b5a9646d97a3e8a5b6b6d86b375cccccccccccccc
서버가 타르 아카이브를 제대로 종료하도록하십시오. 이전 버전 토토 커뮤니티은 TAR을 편집하려는 PG_BASEBACKUP 버전을 특징으로했습니다. 아카이브이지만 너무 멍청하여 제대로 구문 분석하기에는 바보였습니다. 서버는 물건을 만들었습니다 제로 바이트의 두 블록을 추가하지 않아 클라이언트가 더 쉽게 TAR 파일을 끝내고 클라이언트에게 맡겨서 그렇게해야합니다. 그러나 그 이후로 Commit 23A1C6578C87FCA0E361C4F5F9A07DF5AE1F9858,이 해킹이 필요하지 않습니다 더욱 그들은 제대로 종료됩니다! 따라서 서버를 항상 올바르게 변경하십시오 타르 파일을 종료하십시오. PG_BASEBACKUP의 구형 버전은 New와 대화 할 수 없습니다 어쨌든 서버이므로 호환성 중단이 없습니다. pg_basebackup 측면에서 우리가 말하면 종료 제로 바이트를 추가해야합니다. 이전 서버이지만 서버가 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는 TimeLineId를 삽입하고 주석을 업데이트하여 다음을 명확히합니다. 회복이 완료된 후에 만 설정 될 것으로 예상됩니다. startupxlog에서 로컬 변수 교체이 thistimelineid 및 prevtimelineid를 새로운 로컬로 교체 변수는 Replaytli 및 Newtli. 오래된 계획 에서이 티티 라인 리드는 우리가 새로운 타임 라인을 만들 때까지 TLI를 재생하고 그 후 재생 tli는 prevtimelineid에서. 이제 Replaytli는 우리가 마지막으로 재생 된 TLI입니다. 전체 기능에 걸쳐, Newtli는 그 또는 새로운 타임 라인입니다. 프로모션시 작성되었습니다. 의견에서 오도 한 의견을 제거하십시오 회복 targettimelinegooal과 친구가 선언되는 곳 바로 위의 차단. 변수 로서의이 티티 라인 드이기 때문에 이제는 잘못되었습니다. RMGR 코드 가이 TimeLineId에 신경 쓰지 않기 때문에 페이지 헤더의 TLI 필드가 예전이 아니었던 것은 용도 변경되지 않았습니다. 페이지 체크섬을 저장합니다. getflushrecptr 주석을 추가하십시오 정상적인 달리기에 사용되어야하며 이것이 그래서. Michael Paquier와 내 자신의 일부 아이디어에 따라. Michael의 검토 Paquier. 논의:http : //postgr.es/m/ca+tgmoy1a2d1anvr3tjckmggkhj7ggrwinwjtkr21dxoulbzcq@mail.gmail.com https : //git.토토 커뮤니티.org/pg/commitdiff/a27048cbcb582056bfbf15aa2f898b4a3ec74304
Basebackup.c의 주장에서 Thinko를 수정하십시오. 저지르다 5A1007A5088CD6DDF892F742222ADBAEF362372F는 그 주장을 소개하려고 시도했습니다 블록 크기는 타르 블록 크기의 두 배 이상 이었지만 수학을 받았습니다. 잘못된. 내 오류는 나에게 오프리스트에게보고되었습니다.https : //git.토토 커뮤니티.org/pg/commitdiff/10eae82b27cebbb9586cda8baf8e3226496891d0
많은 상태 파일로 pgarch_readyxlog ()의 성능 향상. 현재, Archive_status 디렉토리는 각 파일에 대해 스캔되었습니다. 있을 때 Archive_Command가 오랫동안 실패했기 때문에 많은 상태 파일입니다. 시간,이 디렉토리 스캔은 매우 느려질 수 있습니다. 이 변화로 아카이버 각 디렉토리 스캔 중에 아카이브 할 여러 파일을 기억하고 속도 위로. 타임 라인 히스토리 파일을 최대한 빨리 보관할 수 있도록 xlogarchivenotify ()는 아카이버가 새 디렉토리 스캔을 마치도록 강요합니다. 하나에 대한 .ready 파일이 작성되었습니다. Nathan Bossart, 긴 토론에 따라 많은 사람들과 관련이 있습니다. 그 사람이 누구라도 정확히 나에게 분명하지 않습니다. 사람들은이 특정 패치를 검토했습니다. 논의:http : //postgr.es/m/ca+tgmobhabs2yabtutrkjtq_kkc80-berjw=pfffffpoj7+gabqbw@mail.gmail.com토론 :http : //postgr.es/620f3ce1-0255-4d66-9d87-0eade866985a@amazon.com https : //git.토토 커뮤니티.org/pg/commitdiff/beb4e9ba1652a04f66ff2026144d06f678c0b2d
Amit Kapila 추진 :
Fujii Masao 추진 :
Michaël Paquier 추진 :
일관성을 위해 "procsignal"이라는 용어를 사용하여 몇 가지 주석을 만듭니다. 주변 ProcSignal.c에서 "ProcSignal"보다는 "ProcSignal"을 사용하는 것을 선호합니다. 작가: Bharath Rupireddy 토론 :https : //postgr.es/m/calj2acx99ghpmm1m_o4g+ysxfjcn=qf7pedxntlwmpht_gdg@mail.gmail.com https : //git.토토 커뮤니티.org/pg/commitdiff/4cd046c203bbca2955182f78ebc06e831ffdbb1
xlogreadRecord ()의 일부 발신자에 대한 오류 메시지를 향상시킵니다. 몇 개의 코드 논리 디코딩 (WAL Sender, 슬롯 진행 등)과 관련된 경로 xlogreadrecord (), walreader.c에서 생성 된 오류 메시지를 a. 실패. 모든 메시지는 컨텍스트가 없으므로 발견하기가 더 어려워집니다. 이런 일이 일어나지 않아도 오류가 발생할 수있는 곳. 다른 모든 것 XlogreadRecord ()의 발신자는 이미 그렇게합니다. 검토 : Kyotaro Horiguchi 논의:https : //postgr.es/m/yynth6oyowqcadkw@paquier.xyz https : //git.토토 커뮤니티.org/pg/commitdiff/c9c401a5e13accc4a3a3a775e3feeabdc5940c9178
Clang-12 ~와 함께 PL/Perl에서 오는 컴파일 경고 정리. Clang-12가 있습니다 -wcompound-token-split by macro가 소개되어 많은 양이 생깁니다 업스트림 Perl과의 상호 작용으로 인해 PL/PERL을 구축 할 때 경고. 이 커밋 컴파일러가 지원하여 모든 경고를 침묵시킵니다. 상류 Perl이 있습니다 이 문제를 해결했지만 이것이 퍼지기 전에 시간이 걸릴 것입니다. Buildfarm을 가로 질러, 우리는 일부 동물이 유용하다는 것을 알았습니다. 부정확 한 자리 표시자를 감지하는 데 도움이되는 여분의 상인으로 (B0CF544 참조), Dangomushi는 하나입니다. 검토 : Tom Lane 토론 :https : //postgr.es/m/yyr3qya/r3gw+sbg@paquier.xyzBackpatch-Strough : 10https : //git.토토 커뮤니티.org/pg/commitdiff/9ff47EA414C4E6ACE347FC4E59866E38B9BBBCEAF
빈 입력으로 유니 코드 문자열 정규화에서 버퍼를 고정합니다. Postgresql 13 및 최신 버전은 SQL을 통해 직접 영향을받습니다. function ormalize (),이 기능의 호출이 하나를 작성하게합니다. 입력에 사용하는 경우 할당을 지나서 바이트를 사용한 후 빈 문자열을 사용하는 경우 NFC 및 NFKC가있는 문자열. 이전 버전 (v10 ~ v12)은 직접적이지 않습니다 정규화를 사용한 유일한 코드 경로는 SASLPREP입니다. 빈 문자열의 경우를 금지하는 SCRAM 인증에서 어쨌든이 코드를 더욱 강력하게 만드십시오. 기능이 다루어집니다. 이 문제를 해결하기 위해 선택한 솔루션은 간단합니다. 분해 된 문자열이 비어있는 경우 빠른 속도로 경로를 추가합니다. 이것은 가장 낮은 수준에서 코드 포인트와 같이 빈 문자열에 대해서만 발생합니다. 분해 테이블에 항목이 없거나 분해 크기가 0 인 경우이 문제를 다루기 위해 일부 테스트가 추가됩니다. v13 ~. 빈 문자열은 항상 정규화 된 것으로 간주되었습니다. (Grammar "IS NF [K] C, D SQL 함수 IS_NORMALIZED ()를 통해)) 이 기능 이후 허용 된 모든 작업 (NFC, NFD, NFKC 및 NFKD)의 경우 2991AC5 기준으로 도입되었습니다. 이 동작은 변경되지 않지만 일부 테스트입니다 그 후 확인하기 위해 v13 ~에 추가됩니다. 나는 또한 "make를 확인했다 정규화 확인 "SRC/Common/Unicode/in 동안 (13 ~, 그리고 이 커밋과 독립적으로 오래된 안정된 지점에서 파손). 릴리스 메모는 v13 ~에 대한이 커밋을 언급해야합니다. 보고서 : Matthijs van der Vleuten 토론 :https : //postgr.es/m/17277-0c527a373794e802@토토 커뮤니티.orgBackpatch-Strough : 10https : //git.토토 커뮤니티.org/pg/commitdiff/098c13455664d37b78ae87853a82f4a9d23a2c8
PG_STAT_SLRU를 쿼리 할 때 메모리 오버런을 수정합니다. pg_stat_get_slru () in pgstatfuncs.c는 배열 끝에 하나의 요소를 가리 킵니다. 항목을 스캔하기 위해 마무리 할 때 pgstat_slrustats. 이것은 직접적인 것이 없었습니다 추가 메모리 영역의 데이터가 읽지 않은 결과를 읽었지만 정적 분석기는 여기에서 정당하게 불평 할 것입니다. 그러니 깨끗하게합시다. 그것에있는 동안 시스템 뷰를 위해 예약 된 영역에서 하나의 회귀 테스트가 추가됩니다. 보고서 : Alexander Kozhemyakin, 주소 사료 저자 : Kyotaro Horiguchi 토론 :https : //postgr.es/m/17280-37da556e86032070@토토 커뮤니티.orgBackpatch-Strough : 13https : //git.토토 커뮤니티.org/pg/commitdiff/a45ed975c58fde7303eeae488b313bf0314383f7
Peter Eisentraut 추진 :
acccept () 인수 유형을 확인하십시오. 이 점검은 a를 수용하는 데 사용되었습니다 특히 세 번째 논쟁의 유형에서 엄청난 다양성 수용하다(). 이것은 더 이상 현재 지원되는 시스템에 대한 우려가 아닙니다. 우리 코드에서 socklen_t를 사용하고 대체물을 대체하는 간단한 점검을 할 수 있습니다. int for socklen_t가 누락 된 경우 몇 명의 스트래그를 덮으려면. 검토 : Andres Freundandres@anarazel.de토론 :/message-id/3538f4c4-1886-64f2-dcff-aad8267fb82@enterprisedb.com https : //git.토토 커뮤니티.org/pg/commitdiff/ee3a1a5b636b69dde33d68c428dddd56b389a4538
잘못된 형식 자리 표시 자 수정.https : //git.토토 커뮤니티.org/pg/commitdiff/733e0391536dad99a2677ca5e19291854da5730f
DOC : 테이블 시놉시스를 작성/변경하기 위해 참조 작업을 추가합니다. 장군 구속 조건 시놉시스 참조 "참조 _action"이지만 더 이상은 아닙니다 시놉시스 섹션에 정의됩니다. 세부 수준과 비교하여 시놉시스는 다른 하위 클레어에 제공되며, 이것이 반드시 있어야합니다. 추출 Paul Martinez의 패치에서hellopfm@gmail.com토론 :/message-id/flat/cacqfvbzqymyjv=njbsmxf+rbdhpx=w=B7aeamkN8dwn9ozjy7w@mail.gmail.com https : //git.토토 커뮤니티.org/pg/commitdiff/db9f287711ac49d9799f93f664d101ff8f5891
Jeff Davis PUSH :
Álvaro Herrera 추진 :
Peter Geoghegan 추진 :
Vacuumlazy.c에서 다른 쓸모없는 참조를 업데이트하십시오. 감독을 해결합니다 7AB96CF6 커밋.https : //git.토토 커뮤니티.org/pg/commitdiff/eb9baef8e92adf81c6adbe44f1d678d8550bff7
HEAP_PAGE_PRUNE () 여유 공간지도 주석을 업데이트합니다. 그것은 닿습니다 heap_page_prune () 발신자는 가지 치기 다음 페이지. 우리가 원하는 것을 다루는 오래된 의견을 업데이트하십시오 마치 heap_page_prune () 자체의 책임 인 것처럼 수행합니다. Heap_Page_Prune ()은 합리적으로 만들기에 충분한 수준의 컨텍스트가 없습니다. 선택.https : //git.토토 커뮤니티.org/pg/commitdiff/42f9427a98a2245d29737e0f3b8aaf39a7f57ec
가지 치기 PGSTATS 회계 미묘함을 설명합니다. 이유를 설명하는 의견을 추가하십시오 기회 힙 가지 치기 작업 중에 사용 된 PGSTATS 회계 (TO 관계에서 현재 죽은 튜플의 현재 수를 유지하십시오. 새로운 LP_DEAD 품목의 수를 빼서 보상하십시오. 이것은 LP_DEAD가되는 튜플을 완전히 잊어 버릴 수 있도록 필요합니다. 가지 치기 중 항목 - 여전히 계산해야합니다. 더 자연스럽게 보입니다 유일한 관련 콜 사이트 (기회 치연) 에서이 문제를 논의하십시오. 다른 발신자에게도 동일한 문제가 적용되지 않기 때문에 (진공 통화 대지). 거기에도 모든 것을 움직입니다. 저자 : Peter Geogheganpg@bowt.ie토론 :https : //postgr.es/m/cah2-wzm7f+a6ej650gi_iftgbhsadvw5cujal3punpuphff5yg@mail.gmail.com https : //git.토토 커뮤니티.org/pg/commitdiff/b0f7425ec2445678f32381de8bd3174d3cc2167e
Noah Misch 추진 :
Andrew Dunstan 추진 :
Daniel Gustafsson이 추진했습니다 :