젠 토토 주간 뉴스 -2021 년 10 월 31 일

게시2021-11-01by pwn
PWN

젠 토토 주간 뉴스 -2021 년 10 월 31 일

해피 Hallowe'en!

젠 토토 제품 뉴스

PG_STATEMENT_ROLLBACK V1.3, 서버 측을 추가하는 확장자입니다 진술 수준젠 토토 롤백과의 거래,릴리스.

10 월의 젠 토토 작업

https : //archives.젠 토토.org/pgsql-jobs/2021-10/

뉴스의 젠 토토

Planet 젠 토토 :https : //planet.젠 토토.org/

젠 토토 주간 뉴스는 이번 주 David Fetter에 의해 제공됩니다

일요일 오후 3시에 PST8PDT로 David@fetter.org. 뉴스 및 공지 사항을 제출하십시오.

응용 패치

Michaël Paquier 추진 :

  • 복제 명령 추가 read_replication_slot을 추가합니다. 명령은 지원됩니다 지금은 물리적 슬롯이며 슬롯의 유형, Restart_LSN 및 그 유형을 반환합니다. RETART_TLI. 이것은 다음과 관련된 다가오는 패치에 유용합니다. PG_RECEIVEWAL, 도구가 A 위치젠 토토 스트리밍 할 수 있도록 백엔드에 의해 플러시 된 마지막 WAL 위치 대신 슬롯 ( evident_system) 아카이브 디렉토리가 비어있는 경우 다른 아카이브 위치로 전환하는 경우 WAL 세그먼트 아카이브의 구멍을 피하는 데 사용되는 동일한 슬롯. 저자 : Ronan Dunklau 검토 : Kyotaro Horiguchi, Michael Paquier, Bharath Rupireddy 토론 :https : //postgr.es/m/18708360.4lzovyhige@aivenronan https : //git.젠 토토.org/pg/commitdiff/b4ada4e19fd7bedb433e46516ccd0ca4213d2719

  • PG_RECEIVEWAL이 슬롯의 재시작 LSN젠 토토 스트리밍되도록 허용합니다. 이 패치 전에 PG_RECEIVEWAL을 실행할 때 스트리밍 시작점은 현재입니다. Archives의 위치 WAL의 로컬 디렉토리에 찾은 것이 있으면 세그먼트가 작성되고 PG_ReceiveWal은 현재 WAL로 돌아갑니다. 아카이브가없는 경우 위치는 식별 _system 명령. 어떤 이유로 든 PG_RECEIVEWAL의 WAL 파일 움직여서 우리가 떠난 곳에 다시 시작하는 것이 좋습니다. Replication Slot의 Restart_lsn은 현재 플러시로 오른쪽으로 건너 뛰는 대신 WAL의 구멍을 피하기 위해 위치. 이 커밋 변경 PG_RECEIVEWAL을 결정하기위한 다음의 방법을 사용합니다. 스트리밍 시작 LSN : - 로컬 아카이브를 스캔합니다. - 슬롯을 사용하십시오 RETART_LSN, 백엔드젠 토토 지원하는 경우 슬롯이 정의 된 경우. - 폴백 식별 _system에 의해보고 된대로 현재 플러시 LSN에. 유지하려면 이전 서버 버전과의 호환성 만 사용하려고합니다. read_replication_slot 백엔드 버전이 15 이상이고 명령이있는 경우 현재 플러시 LSN젠 토토 스트리밍의 오래된 동작 지원되지 않습니다. 이 기능을 다루기 위해 일부 탭 테스트가 추가됩니다. 저자 : 로난 Dunklau 검토 : Kyotaro Horiguchi, Michael Paquier, Bharath Rupireddy 논의:https : //postgr.es/m/18708360.4lzovyhige@aivenronan https : //git.젠 토토.org/pg/commitdiff/f61e1dddd2cee6b1a1da75c2bb0ca3bc72f18748c1

  • read_replication_slot의 탭 테스트젠 토토 과도한 Lax Regex 패턴을 수정합니다. 케이스 슬롯이 존재하지 않을 때 널 출력을 확인하는 것은 너무 느슨했습니다. 쿼리에 의해 생성 된 모든 출력에 대한 전달. 이것은 일치하는 것을 수정합니다 "||"에만 일치하는 패턴. B4ADA4E의 감독.https : //git.젠 토토.org/pg/commitdiff/0db343dc13bc8657976c39ddbf7e0c7db8b20fff

  • DOC : PG_RECEIVEWAL 페이지의 문법 수정. f61e1dd에 의해 소개되었습니다. 작가: Kyotaro Horiguchi 토론 :https : //postgr.es/m/20211026.112304.19629540808884317968.horikyota.ntt@gmail.com https : //git.젠 토토.org/pg/commitdiff/8af09daf5629e9b85f37cc23983819b8ccd11b43

  • 템플릿 데이터베이스의 공유 종속성 사본에 대한 테스트 추가. 98ec35b로 이 코드 영역에는 적용 범위가 없었습니다. 이것 Commit 작은 세트가 포함 된 템플릿 데이터베이스로 새로운 탭 테스트가 추가됩니다. 새로운 데이터베이스에 복사 된 공유 종속성. 테스트가 추가됩니다 the -t가 템플릿으로 쿼리를 생성하는 것을 테스트 한 적이없는 createb, 어느 하나. 검토 : Tom Lane 토론 :https : //postgr.es/m/yxdtl+pfsnqmbke@paquier.xyz https : //git.젠 토토.org/pg/commitdiff/70bfc5ae537c8bfeed4849b7d9f814de89a155fe

  • doc : sepgsql 페이지젠 토토 Selinux 사용자 안내서 링크 수정. 보고서 : Anton 볼로신 토론 :​​https : //postgr.es/m/15a86d4e-a237-1acd-18a2-fd69730f1ab9@postgrespro.ruBackpatch-Strough : 10https : //git.젠 토토.org/pg/commitdiff/cc1853b30048307d93f8aaa30f4d64f8b527f04d

  • archive_cleanup_command 및 recover_end_command에 대한 탭 테스트 추가. 이것은 추가됩니다 두 명령의 실행을 확인하는 테스트. 복구 테스트 002_Archiving.pl은 이미 트리거되었으므로 그것에 잘 조정되었습니다. 두 번, 그리고 그 명령 중 하나라도 실패하더라도 복구에는 영향을 미치지 않습니다. 또는 홍보. 명령 성공은 "echo"명령, 모든 BuildFarm 환경젠 토토 작동 할 수 있어야합니다. MSYS조차도 (하지만 곧 알게 될 것입니다). 명령 실패는 an으로 테스트됩니다 "echo"명령은 존재하지 않는 경로를 가리키고 백엔드를 스캔합니다. 고장이 발생하는지 확인하기 위해 로그를 작성합니다. 둘 다 백엔드에 의존합니다 데이터 폴더의 루트젠 토토 명령을 트리거하여 논리 작성 더 강력합니다. Windows젠 토토 추가 테스트를 위해 Neha Sharma에게 감사드립니다. 작가: Amul Sul, Michael Paquier 검토 : Andres Freund, Euler Taveira 논의:https : //postgr.es/m/caaj_b95r_c4t5moq30qsybsu=edzdhm=4spiawaimwc2ow7=1q@mail.gmail.com https : //git.젠 토토.org/pg/commitdiff/46dea2419ee7895a4eb3d048317682e6f18a17e1

  • PG_RECEIVEWAL의 탭 테스트 속도. 이 커밋은 그 속도를 향상시킵니다 작성된 데이터 양을 줄이기 위해 간단한 아이디어를 사용하여 25 ~ 30%의 테스트 PG_RECEIVEWAL : - 1MB의 세그먼트 크기를 사용하십시오. 금액을 줄이면 새 세그먼트에 대해 pg_receivewal에 의해 제로화 된 데이터는 코드를 향상시킵니다. 비 디펜트 세그먼트 크기의 적용 범위. - 마지막 테스트젠 토토 Slot의 Restart_lsn, Redo LSN과 WAL을 발전시키기 위해 검사 점을 생성합니다. 생성 된 슬롯에 의해 유지되어 필요한 세그먼트 수를 줄입니다. 보관 된. 이것은 대부분의 이익에 중요합니다. - 데이터 양을 최소화하십시오 더미 테이블에 삽입되었습니다. 검토 : Ronan Dunklau 토론 :https : //postgr.es/m/yxqykadveqmytltk@paquier.xyz https : //git.젠 토토.org/pg/commitdiff/d680992af5406245f769b697fbb4e130e6220664

Heikki Linnakangas 추진 :

  • 새로운 밸런스 된 병합 코드의 몇 곳젠 토토 논리를 명확히하십시오. ~ 안에 selectNewTape (), 'noutputruns'대신 'noutputtapes'를 사용하여 확인하십시오. 새 테이프를 시작하거나 기존 테이프에 새 실행을 추가할지 여부. 까지 'maxtapes'에 도달하고 Noutputtapes는 항상 noutputruns와 같으므로 논리를 변경하지는 않지만 테이프의 #을 다음과 비교하는 것이 더 논리적으로 보입니다. # 테이프. 또한, 현재 maxtapes는 병합 후에는 수정되지 않습니다 시작하지만 이런 식으로 작성되면 코드는 여전히 작동합니다. (하지만 noutputruns == noutputtapes 어설 션을 제거하고 사용해야합니다. NOUTPUTRUNS % NOUTPUTTAPES 테이프 전체에 균등하게 달리기를 배포합니다. 더 이상 좋은 일을하지 않을 것입니다). 마찬가지로 Mergeruns ()젠 토토도 변경됩니다 테이프에 사용되는 메모리를 설명하려면 usemem (state- tape_buffer_mem) 버퍼. 현재 avidemem과 동일하지만 tape_buffer_mem은 더 직접적입니다. 그리고 미래 방지. 예를 들어, 논리를 반만 할당하도록 변경하면 나머지 메모리젠 토토 테이프 버퍼에 대한 usemem (state- tape_buffer_mem) 여전히 맞습니다. 커버티는 이것에 대해 불평했다. 이 패치가 도움이되기를 바랍니다 논리를 더 잘 이해하는 것이 좋습니다. 초기 분석에 대한 Tom Lane에게 감사합니다.https : //git.젠 토토.org/pg/commitdiff/166f94377c886516ca986ef8a623cd2e85fe911

Robert Haas 추진 :

Thomas Munro Pushed :

Daniel Gustafsson이 추진했습니다 :

Fujii Masao 추진 :

  • 유효한 옵션이 없을 때 FDW가보고하는 힌트 메시지를 개선하십시오. 그만큼 외국 데이터 포장지의 유효성있는 기능 기능은 다음과 같은 힌트 메시지를 제공합니다. Create 또는 Alter Command에 지정된 객체에 대한 유효한 옵션은 명령에 주어진 옵션은 유효하지 않습니다. 이전에 postgresql_fdw_validator () 그리고 postgres_fdw 및 dblink_fdw의 유효성 검사 기능은 그런 식으로 작동했습니다. 객체에 유효한 옵션이 없었으므로 힌트로 이어질 수 있습니다. 빈 목록이있는 메시지 (유효한 옵션이 없기 때문에). 예를 들어, 외국 데이터 래퍼 래퍼 postgres_fdw 옵션 변경 (형식 'CSV')은 다음 오류 및 힌트 메시지. 이 행동은 혼란 스러웠습니다. 오류: 유효하지 않은 옵션 "형식"힌트 :이 맥락에서 유효한 옵션은 다음과 같습니다. File_FDW에서는 그러한 문제가 없습니다. file_fdw의 유효성 검사 기능은 다음을보고합니다 힌트 메시지 "이 맥락에는 유효한 옵션이 없습니다." 대신 사례. 이 커밋은 Postgresql_fdw_validator () 및 Validator를 향상시킵니다 postgres_fdw 및 dblink_fdw의 함수는 마찬가지로 수행합니다. 을 위한 예를 들어이 변경 사항은 위의 외국 데이터 래퍼 명령을 변경합니다. 다음 메시지를보고하십시오. 오류 : 잘못된 옵션 "존재하지 않는" 힌트 :이 맥락에는 유효한 옵션이 없습니다. 저자 : Kosei Masumura 검토 : Bharath Rupireddy, Fujii Masao 토론 :https : //postgr.es/m/557d06cebe19081bfcc83ee2affc9d3@oss.nttdata.com https : //git.젠 토토.org/pg/commitdiff/5fedf7417B69295294B154A219EDD8A26EAA6AB6

Jeff Davis PUSH :

Amit Kapila 추진 :

  • 스키마 테이블을 게시 할 수 있습니다. 새로운 옵션 "스키마의 모든 테이블에" Create/Alter Public에서 하나 이상의 스키마를 지정할 수 있습니다. 게시자가 데이터를 가입자에게 전송하기 위해 테이블을 선택합니다. 새로운 구문을 통해 테이블과 스키마를 모두 지정할 수 있습니다. 예를 들어: 표 T1, T2, T3 용 출판물 PUB1, Schema S1, S2의 모든 테이블; 또는 Alter Publication Pub1 추가 표 T1, T2, T3, 스키마 S1, S2의 모든 테이블; 새로운 시스템 테이블 "PG_PUBLICATION_NAMESPACE"가 추가되었습니다 사용자가 출판물을 통해 게시하려는 스키마. 수정 관계가 일부인 경우 변경 사항을 게시하려면 출력 플러그인 (pgoutput) 스키마 출판. 스키마 출판물을 식별하고 덤프하기 위해 PG_DUMP를 업데이트합니다. \ d 명령 제품군을 업데이트하여 스키마 간행물 및 \ drp+를 표시합니다. 변형은 이제 관련 스키마를 표시합니다. 저자 : Vignesh C, Hou Zhijie, Amit Kapila Syntax-Suggested-By : Tom Lane, Alvaro Herrera Reviewed-by : Greg Nancarrow, Masahiko Sawada, Hou Zhijie, Amit Kapila, Haiying Tang, Ajin Cherian, Rahila Syed, Bharath Rupireddy, Mark Dilger Tested-by : Haiying Tang 논의:/message-id/caldanm0oanxuj6rxqwzsm1msy4s19nuh3734j4a72etdwvbetq@mail.gmail.com https : //git.젠 토토.org/pg/commitdiff/5a2832465fd8984d089e8c44c094e6900d987fcd

  • 스키마 간행물에 대한 탭 테스트 추가. 추가 테스트가 추가됩니다 Commit 5A2832465F ( "스키마 테이블 게시 허용). 스키마를 통해 게시 된 테이블에서 데이터 스트리밍 테스트 출판물. 저자 : Vignesh C, Haiying Tang Reviewed-by : Greg Nancarrow, Hou Zhijie, Amit Kapila 토론 :/message-id/caldanm0oanxuj6rxqwzsm1msy4s19nuh3734j4a72etdwvbetq%40mail.gmail.com https : //git.젠 토토.org/pg/commitdiff/6b0f6f6f79eef2168ce38a8ee99c3ed76e3df5d7ad

Magnus Hagander 추진 :

Peter Geoghegan 추진 :

Tom Lane 추진 :

  • 동시에 색인 생성에 대한 Contrib/Amcheck의 테스트 개선. 커밋 FDD965D07 및 3CD9C3B92 TESTED 2를 시작하여 동시에 인덱스 생성 별도의 pgbench가 동시에 실행됩니다. 이것은 단일 만 있도록 필요했습니다 클라이언트 스레드는 동시에 색인 생성을 실행하여 교착 상태를 피합니다. 두 CIC. 그러나 더 나은 방법이 있습니다.이 방법은 자문 잠금 장치를 사용하는 것입니다. 동시 CIC를 방지하십시오. 테스트 코드가 있기 때문에 부분적으로 더 좋습니다 더 짧고 읽기 쉬지만 대부분은 자동으로 물건을 조정하기 때문입니다. 삽입 수와 관련하여 적절한 수의 CIC를 시작하려면 업무. 커밋 된대로, 일반적으로 CIC의 절반에서 3/4 삽입 트랜잭션이 이미 있었기 때문에 거래는 무의미했습니다 멈췄다. 통과하면 지지대에 추가 된 Background_pgbench를 제거하십시오 이 테스트는 더 이상 필요하지 않습니다. 우리가 찾으면 언제든지 다시 넣을 수 있습니다. 나중에 사용하십시오. v12 로의 역-패치; 구형 PGBENCH 버전에는 부족합니다 이 방법에 필요한 조건부 실행 기능. 톰 레인과 앤드리 Borodin 토론 :https : //postgr.es/m/139687.1635277318@ssss.pgh.pa.us https : //git.젠 토토.org/pg/commitdiff/7f580aa5d88a9b03d66fcb9a1d7c4fcd69d9e126

  • snprintf.c젠 토토 정수의 인쇄 속도를 높이십시오. 가능한 유일한 디바이저 이후 8, 10, 16이므로 부서를 대체하는 데 많은 비용이 들지 않습니다. 상수 디바이저를 사용하여 3 개의 사본이있는 루프. 대부분의 기계젠 토토 상수는 임의의 가치에 의해 분할보다 훨씬 저렴하게 수행 될 수 있습니다. 9 자리 값을 가진 snprintf ( "foo %d") 만 보여 주면서 마이크로 렌치 마크 테스트 나에게 약 2 배의 속도가 떨어집니다 (TGL). 대부분의 Postgres는 그에 너무 의존하지 않습니다 SNPRINTF의 속도, 실제 사례의 영향은 거의 없습니다. 측정 가능. 그럼에도 불구하고 절약 된 사이클은주기입니다. Arjan van de ven 논의:https : //postgr.es/m/40a4b32a-b841-4667-11b2-a0baedb12714@linux.intel.com토론 :https : //postgr.es/m/6e51c644-1b6d-956e-ac24-2d1b0541d532@linux.intel.com https : //git.젠 토토.org/pg/commitdiff/3c17926eedd51c4094db7c62f59950918044AB1c

  • 시간대 데이터 파일을 TZDATA 릴리스 2021E로 업데이트하십시오. 피지의 DST 법률 변경, 요르단, 팔레스타인, 사모아. 바베이도스, 쿡의 역사적 교정 섬, 가이아나, 니에, 포르투갈, 통가. 또한 태평양/엔더 베리 구역 Pacific/Kanton으로 이름이 바뀌 었습니다. 다음 구역이 병합되었습니다 1970 년부터 시계가 합의 된 근처의 더 인기있는 구역 : 아프리카/아크라, America/Atikokan, America/Blanc-Sablon, America/Creston, America/Curacao, America/Nassau, America/Port_of_spain, 남극 대륙/Dumontdurville 및 남극 대륙/시오와.https : //git.젠 토토.org/pg/commitdiff/937aafd6d5580b81134c7f303d04cf7561ad0309

  • PLPGSQL젠 토토 초기화 크로스 리프의 동작을 테스트하고 문서화하십시오. 우리는 가지고있었습니다 자체 초기화젠 토토 변수가 참조 할 수 없음을 보여주는 테스트 표현, 그리고 같은 블록의 이전도. 그것is참조 가능 나중에 같은 블록의 표현식이지만 afaics 테스트 케이스는 없습니다. 운동. 하나를 추가하고 몇 가지 오류 케이스를 추가하십시오. 또한 문서화하십시오 문서가 요점을 다루지 못했기 때문에 이것은 가능합니다. 질문 당 Tuxteam의 Tomás. 나는 이것을 뒤로 패치 할 필요가 없다고 생각하지만 우리는 미래에 깨지지 않도록하십시오. 논의:https : //postgr.es/m/20211029121435.ga5414@tuxteam.de https : //git.젠 토토.org/pg/commitdiff/a2a731d6c9db0ba650aa6f7c4fe349ccf712f74d

Peter Eisentraut 추진 :