PostgreSQL 주간 뉴스 - 2021년 12월 19일

게시일2021-12-20작성: PWN
PWN

PostgreSQL 주간 뉴스 - 2021년 12월 19일

FOSDEM PGDay 2022가 2022년 2월 5~6일 온라인으로 개최됩니다.스포츠 토토 베트맨://fosdem.org/2022/

PostgreSQL 전환 가이드, 힘들게 얻은 지혜가 담겨 있으며 프랑스어와 영어가 되었습니다.사설 토토 : "사설 토토 로의 전환 안내서" 출판

pgDay 파리 2022파리에서 개최됩니다. 2022년 3월 24일 프랑스. TheCfP이다 파리 시간 기준 2021년 12월 31일 자정까지 영업합니다.

가상 글로벌 개발자 이벤트인 Citus Con이 2022년 4월 12~13일에 개최됩니다. TheCFP이제 열려있습니다.

PostgreSQL 제품 뉴스

Pgpool-II 4.3.0, 연결 풀러 및 명령문 복제 시스템 포스트그레SQL,해제.

PostgreSQL v2.3에 대한 액세스출시.

6046_6175

PostgreSQL용 DB 비교기 5.0해제.

다중 데이터베이스 관리 도구인 데이터베이스 .NET v33.6이 이제 다음을 지원합니다. 포스트그레SQL,해제.

pgAdmin4 6.3, PostgreSQL용 웹 및 기본 GUI 제어 센터,출시.

6620_6745

MySQL-PostgreSQL v5.5해제.

12월 PostgreSQL 작업

스포츠 토토 베트맨://archives.postgresql.org/pgsql-jobs/2021-12/

PostgreSQL 로컬

Nordic PGDay 2022는 핀란드 헬싱키의 힐튼 헬싱키에서 개최됩니다 Strand Hotel은 2022년 3월 22일에 운영됩니다. CfP는 2021년 12월 31일까지 운영됩니다.여기

뉴스의 PostgreSQL

플래닛 PostgreSQL:스포츠 토토 베트맨://planet.postgresql.org/

PostgreSQL 주간 뉴스는 David Fetter가 이번 주에 여러분에게 전해 드립니다.

뉴스 및 공지사항을 일요일 오후 3시(PST8PDT)까지 david@fetter.org로 제출하세요.

적용된 패치

Michaël Paquier가 푸시됨:

  • 보기, FDW, 시퀀스 및 변환에 대한 psql 탭 완성을 개선합니다. 는 다음과 같은 개선이 이루어졌습니다. - ALTER에 대한 유형 완성 추가 시퀀스 AS. - 명령이 지원되지 않으므로 변환 시 ALTER를 무시합니다. - ALTER FOREIGN DATA WRAPPER에 대한 추가 완성 기능이 추가되었습니다. - 추가 ALTER VIEW의 열과 관련된 옵션입니다. 이것이 작업의 연속이다 0cd6d3b에서 완료되었습니다. 작성자: Ken Kato 토론:스포츠 토토 베트맨://postgr.es/m/9497ae9ca1b31eb9b1e97aded1c2ab07@oss.nttdata.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/f44ceb46ec2d8da48f6e145bf462d5620c25e079

  • 업데이트 시 제어 파일의 타임스탬프 계산을 중앙 집중화합니다. 이 커밋은 이동합니다. 루틴 내에서 제어 파일의 타임스탬프 계산 src/common/ 공유되는 백엔드의 제어 파일 업데이트를 담당합니다. 여러 프런트엔드 도구(pg_rewind, pg_checksums 및 pg_resetwal) 및 백엔드 자체. 이 변경은 제어 파일의 업데이트에 직접적인 영향을 미칩니다. pg_rewind 및 pg_checksums에 제어 파일을 쓸 때 타임스탬프, 해당 항목에 대한 제어 파일 업데이트를 추적하는 데 도움이 되는 것입니다. 작업, 로그 내에서 시작 시 백엔드에 의해 추적되는 내용도 있습니다. ControlFileData-time은 매번 업데이트되어야 하므로 이 부분은 틀림없이 버그입니다. 새 버전의 제어 파일이 기록될 때 이는 동작입니다. 백패치가 수행되지 않도록 변경합니다. 저자: Amul Sul 검토자: Nathan Bossart, Michael Paquier, Bharath Rupireddy 토론:스포츠 토토 베트맨://postgr.es/m/CAAJ_b97nd_ghRpyFV9Djf9RLXkoTbOUqnocq11WGq9TisX09Fw@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/6fb7c5d67cdd55454fe6317f939a191f85e96473

  • win32stat.c의 표준 스트림에서 fstat()에 대한 호환성 문제를 수정했습니다. GetFinalPathNameByHandleA()는 다음과 같은 컴파일 환경에서 사용할 수 없습니다. _WIN32_WINNT < 0x0600, 일부 빌드팜에서 최소한 Windows XP를 사용함을 의미 Postgres가 여전히 지원해야 하는 MinGW 아래의 구성원입니다. 이는 다음과 같이 보고되었습니다. 빌드팜의 컴파일 경고이지만 실제로는 코드가 작동하지 않을 것이라고 보고합니다. 대신에 이것은 다음으로 전환됩니다. 표준 스트림에 대해 실패할 수 있는 GetFileInformationByHandle() 리디렉션된 항목에 성공합니다. 이것이 바로 우리가 코드에서 찾고 있는 것입니다. fstat()을 에뮬레이트합니다. 우리는 또한 그것이 모든 분야에서 작동할 수 있다는 것을 알고 있습니다. win32stat.c의 기존 논리 덕분에 환경이 계속 지원됩니다. 10260c7에서 발생한 문제이므로 14로 백패치하세요. 보고자: Justin Pryzby, buildfarm 회원 jacana를 통해 저자: Michael Paquier 검토자: Juan José Santamaría Flecha 토론:스포츠 토토 베트맨://postgr.es/m/20211129050122.GK17618@telsasoft.com백패치 스루: 14스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/58651d8dd6a56af306a361e2c386db798164c0f1

  • 오타를 수정하세요. 저자: Lingjie Qiang 토론:스포츠 토토 베트맨://postgr.es/m/OSAPR01MB71654E773F62AC88DC1FC8CC80669@OSAPR01MB7165.jpnprd01.prod.outlook.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/98105e53e0ab472b7721a3e8d7b9f1750a635120

  • 일부 GUC의 플래그를 수정하고 일부 설명을 개선했습니다. 이 커밋으로 일부 문제가 해결되었습니다. GUC 관련 문제: - 활성화_incremental_sort가 GUC_EXPLAIN으로 표시되지 않았습니다. 이를 사용하는 경우 EXPLAIN(SETTINGS) 출력에 나열되지 않습니다. 다른 플래너 수준 GUC와 달리 기본값과 값이 다릅니다. - 다른 개발자와 마찬가지로 Trace_recovery_messages가 GUC_NOT_IN_SAMPLE을 놓쳤습니다. 옵션. - ssl_renegotiation_limit는 다음과 같이 표시되어야 합니다. COMPAT_OPTIONS_PREVIOUS. 그 동안 잘못된 댓글 하나가 수정되었습니다. autovacuum_freeze_max_age와 관련되며 일부 설명을 개선합니다. 최근에 도입된 다른 GUC. 에 의해 설정된 더 큰 패치에서 추출됨 같은 작가. 작성자: Justin Pryzby 설명:스포츠 토토 베트맨://postgr.es/m/20211129030833.GJ17618@telsasoft.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/be5455124b0f073ba3924ae2ba302a27b1686230

  • 다양한 DROP 명령에 대한 psql 탭 완성을 개선합니다. 다음 개선이 이루어졌습니다: - DROP OWNED에 대한 RESTRICT/CASCADE 처리, matviews 그리고 정책. - DROP TRANSFORM 처리 이는 계속되는 작업입니다. 0cd6d3b 및 f44ceb4에서 수행되었습니다. 저자: Ken Kato 검토자: Asif Rehman 토론:스포츠 토토 베트맨://postgr.es/m/0fafb73f3a0c6bcec817a25ca9d5a853@oss.nttdata.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/9270778f467dad0d78d3b9e435a89a6039322b2f

  • slotfuncs.c의 주석 문법을 수정했습니다. 작성자: Bharath Rupireddy 토론:스포츠 토토 베트맨://postgr.es/m/CALj2ACUkrNR2xTak+QaqxoTjPKGn8zXWripv7SR27t+Q5qF1Wg@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/7799d4e3bdd14c90989d829a9b24e73d4ff4d4ad

  • pg_upgrade 테스트에 사용된 모든 SQL 쿼리를 별도의 파일로 이동합니다. 는 기존 pg_upgrade/test.sh와 buildfarm 코드는 동일하게 유지되었습니다. 개체를 조정하기 위해 버전 간 업그레이드 테스트를 수행할 때 SQL 쿼리 집합 업그레이드 전 회귀 테스트에 의해 생성됨(대부분 호환되지 않거나 존재하지 않는 객체는 원점에서 삭제해야 하며 아마도 다시 생성되어야 합니다. 이렇게 하면 모든 SQL 쿼리가 \if 세트가 포함된 별도의 새 파일로 이동됩니다. 이전 버전에 따라 버전 확인을 처리하는 절 업그레이드할 클러스터입니다. 장기 계획은 빌드팜 코드를 만드는 것 커미터가 호환성을 수정할 수 있도록 이 새 SQL 파일을 재사용하세요. 핵심 코드를 새로 고치면 pg_upgrade 테스트에서 문제가 발생합니다. buildfarm 클라이언트를 찔러야 합니다. 이것은 단지 처리할 수 있다는 점에 유의하십시오. 주요 회귀 테스트 스위트이며 contrib에 대해서는 아직 아무것도 수행되지 않았습니다. 아직 모듈이 없습니다(데이터베이스 이름과 같은 더 많은 문제가 있습니다). 백패치 10개까지 완료되었으며 이 스크립트에 필요한 버전 확인을 적용했습니다. 이전 버전과만 호환되므로 최대 정리가 가능해집니다. buildfarm 클라이언트 내의 코드 양. 저자: 저스틴 프리즈비, 마이클 Paquier 토론:스포츠 토토 베트맨://postgr.es/m/20201206180248.GI24052@telsasoft.com백패치 쓰루: 10스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/0df9641d39057f431655b92b8a490b89c508a0b3

  • pg_waldump: SIGINT에 의해 중단되면 통계 요약을 내보냅니다. 이전에는 pg_waldump는 다음에 의해 중단되면 통계 요약을 표시하지 않습니다. SIGINT(또는 간단한 Ctrl+C라고 말함). 이 커밋을 통해 신호 처리기가 확보됩니다. SIGINT의 경우 가장 빠른 편의를 위해 신호를 트래핑하여 종료하기 전에 통계 요약을 표시합니다. 이렇게 하면 보고서가 더 많이 생성됩니다. strace -c와 유사하게 대화형입니다. 이 새로운 동작은 다음과 같은 조합을 만듭니다. --stats 및 --follow 옵션 중 훨씬 더 유용하므로 사용자는 이러한 경우 pg_waldump 호출에 대한 보고서입니다. 에 관한 정보 계산된 통계의 LSN 범위가 보고서에 헤더로 추가됩니다. 표시됩니다. 이 구현은 Álvaro Herrera의 제안과 --stats 및 --원래 같이 쓸모가 없는 걸 따르세요. 문서에 따르면 이것은 그렇지 않습니다. Windows에서 지원되지만 해당 지원은 예를 들어 Ctrl+C와 관련된 터미널 이벤트(이를 위해서는 더 많은 다른 도구가 공통 API의 이점을 누릴 수 있으므로 중앙 집중식 구현). 작성자: Bharath Rupireddy 토론:스포츠 토토 베트맨://postgr.es/m/CALj2ACUUx3PcK2z9h0_m7vehreZAUbcmOky9WSEpe8TofhV=PQ@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/f2c52eeba919a1b191f60445001371bd7c53aaa9

  • 다양한 GUC에 대한 설명을 개선합니다. 이 커밋은 몇 가지를 수정합니다. 일부 GUC 설명의 불일치, 표현 작성 중 그들이 의존하는 단위에 관해서는 더 일반적입니다. 대부분의 경우 이렇게 하면 제거됩니다. "N초" 또는 "N바이트"와 같은 용어의 사용은 쉽게 적용되지 않을 수 있습니다. 이 문자열이 번역된 모든 언어(내 경험에 따르면, 이 기능은 프랑스어와 영어로 작동하며 일본어에서는 덜 작동합니다. 사이의 토론 당 아래에 나열된 저자. 저자: Justin Pryzby, Michael Paquier 토론:스포츠 토토 베트맨://postgr.es/m/20211129030833.GJ17618@telsasoft.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/03774f9bb304d49fae3379806115aaa5d1fafea2

  • REINDEX를 동시에 사용하여 토스트 인덱스 손상을 수정하세요. REINDEX 알림 인덱스에서 동시에 실행되거나 알림 관계로 인해 대상이 손상될 수 있습니다. 토스트를 조작하는 병렬 실행 백엔드로 인덱스 재구축 값은 로컬인 경우 토스트 관계에 대한 잠금을 직접 해제합니다. 트랜잭션이 완료되면 잠금을 해제하는 대신 작업이 완료됩니다. 커밋된 토스트 값을 조작했습니다. 여기서 수행된 수정은 간단합니다. 이제 우리는 저장하거나 삭제할 때 토스트 관계에 대해 ROW EXCLUSIVE 잠금을 유지합니다. 작업 중인 트랜잭션이 커밋될 때까지 값을 토스트합니다. 병렬로 발생하는 동시 재색인은 활동을 확인하고 삽입된(또는 삭제된) 새 행을 확인하세요. 격리 테스트는 여기에 케이스를 고정한 후 확인하기 위해 추가했는데, 디자인상으로는 좀 화려하네요. Allow_system_table_mods를 사용하여 토스트 테이블과 해당 인덱스의 이름을 다음으로 바꿉니다. 고정된 이름. 이 방법을 사용하면 아무런 작업 없이 직접 색인을 다시 생성할 수 있습니다. 기본 관계의 OID에 대한 종속성. 이 방법은 사용할 수 없습니다. REINDEX CONCURRENTLY는 트랜잭션에서 실행할 수 없으므로 DO 블록을 사용하십시오. 블록. 테스트는 가능한 경우 13개로 백패칭되었습니다. c4a7a39, 테스트 스위트에서 allowed_system_table_mods를 사용합니다. 보고자: 알렉세이 Ermakov 분석자: Andres Freund, Noah Misch 저자: Michael Paquier 검토자: Nathan Bossart 토론:스포츠 토토 베트맨://postgr.es/m/17268-d2fb426e0895abd4@postgresql.org백패치 쓰루: 12스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/f99870dd867331f576a84e37438da86a866559c4

  • CREATE/ALTER SUBSCRIPTION 옵션 구문 분석을 개선합니다. 이는 다음을 단순화합니다. 호출자에게 더 이상 필요하지 않도록 코드 Parse_subscription_options()를 사용하여 SubOpt를 0으로 설정하고 제공된 옵션과 기본/구문 분석된 옵션 값. 이것도 다음과 같은 경우 명령에서 지원하는 옵션과 관련된 일부 확인을 단순화합니다. 비호환성을 확인합니다. 그 동안 오류가 생성되었습니다. 지원되지 않는 "slot_name = NONE" 조합은 재정렬됩니다. 이것은 이전 메이저 버전과 비교하면 다른 오류가 발생하지만 사용자는 이 경우 올바른 명령을 얻으려면 모든 오류를 거쳐야 합니다. "활성화" 및 "생성\슬롯" 옵션에 잘못된 값을 사용하므로 결국 결과 명령은 동일하게 유지됩니다. 저자: Peter Smith 검토자: Nathan Bossart 토론:스포츠 토토 베트맨://postgr.es/m/CAHut+PtXHfLgLHDDJ8ZN5f5Be_37mJoxpEsRg8LNmm4XCr06Rw@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/00029deaf65aad47044d9290fe80f2f68601f7ac

  • a,an의 일부 오타를 수정하세요. 변경 사항 중 하나가 문서에 영향을 미치므로 백패치. 저자: Peter Smith 토론:스포츠 토토 베트맨://postgr.es/m/CAHut+Pu6+c+r3mY24VT7u+H+E_s6vMr5OdRiZ8NT3EOa-E5Lmw@mail.gmail.com백패치 통과: 14스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/5d08137076fd39694188ec4625013756aab889e1

  • 트랜잭션 명령으로 일부 WAL 레코드의 설명을 개선합니다. 이 커밋 거래 RMGR에 대한 일부 WAL 기록의 설명을 개선합니다. - 추적 트랜잭션 커밋을 위한 remote_apply입니다. 이 GUC는 사용자가 설정할 수 있으므로 정보는 디버깅에 유용할 수 있습니다. - 복제 원본 정보 추가 PREPARE TRANSACTION의 경우 원본 ID, LSN 및 타임스탬프 포함 - 다음과 동일 위의 경우 ROLLBACK PREPARED의 경우입니다. 이는 pg_waldump의 형식에 영향을 미치거나 이러한 설명 루틴을 사용하는 모든 항목이 있으므로 백패치가 수행되지 않습니다. 작성자: Masahiko Sawada, Michael Paquier 토론:스포츠 토토 베트맨://postgr.es/m/CAD21AoD2dJfgsdxk4_KciAZMZQoUiCvmV9sDpp8ZuKLtKCNXaA@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/c8b733c4c4b0c5b7aa93553aa5b7f2c1d0bf00bf

  • PREPARE TRANSACTION에서 복제 원본에 대한 어설션을 제거합니다. 사용시 복제 원본, pg_replication_origin_xact_setup()은 선택 사항입니다. LSN과 타임스탬프를 설정하여 원점을 표시할 수 있습니다. 트랜잭션 커밋 또는 중단을 위해 WAL에 추가로 추가됨(2PC 포함) 거래). PREPARE TRANSACTION의 코드 경로에서 가정된 어설션 이 데이터는 항상 설정되어야 하므로 다음을 사용할 때 트리거됩니다. 원본 LSN을 설정하지 않고 복제 원본을 복제합니다. 일부 테스트가 추가되었습니다. 이런 종류의 시나리오를 더 많이 다루십시오. 커밋 1eb6d65에 대한 감독. 당 Amit Kapila 및 Masahiko Sawada와의 토론. 토론:스포츠 토토 베트맨://postgr.es/m/YbbBfNSvMm5nIINV@paquier.xyz백패치 쓰루: 11스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/ece8c76192fee0b78509688325631ceabca44ff5

  • MSVC의 TAP 테스트를 위한 일부 환경 설정의 동작을 조정합니다. edc2332에는 vcregress.pl에 환경 변수 LZ4, TAR에 대한 일부 제어가 도입되었습니다. 그리고 GZIP_PROGRAM을 사용하면 모든 TAP 테스트에서 해당 명령을 사용할 수 있습니다. 이 src/Makefile.global.in과 설정을 보다 일관성 있게 만듭니다. 기본값은 Make 및 MSVC 빌드에 사용됩니다. 각 매개변수는 다음에서 변경할 수 있습니다. buildenv.pl이지만 buldenv.pl을 로드한 후 기본값이 할당되므로 이들 중 어느 것도 설정 해제할 수 없으며 빈 값을 사용하면 작동하지 않습니다. "||=" 중 하나를 사용합니다. 일부 환경에서는 호환되는 명령이 없을 수 있으므로 해당 PATH(MinGW에서 오는 tar가 문제입니다.) 이로 인해 중단될 수 있습니다. 실패한 테스트를 우회하기 위한 종료 경로 없이 테스트합니다. 이 커밋 변경 사항 LZ4, TAR 및 GZIP_PROGRAM의 기본값이 할당됩니다. buildenv.pl을 로드하기 전이 아니라 이후가 아닙니다. 이런 식으로 우리는 동일한 양을 유지합니다. 동일한 기본값을 가진 GNU 빌드로서의 호환성이 가능해집니다. 해당 값 중 하나를 설정 해제합니다. 그 동안 이에 대한 몇 가지 문서가 추가됩니다. MSVC에 대한 TAP 테스트 전용 섹션에 있는 세 가지 변수입니다. 당 앤드류 던스턴과의 토론 토론:스포츠 토토 베트맨://postgr.es/m/YbGYe483803il3X7@paquier.xyz백패치 스루: 10스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/7acd01015c4a5edb253ea9468ccb71ef99cabd1a

  • pg_upgrade에 -N/--no-sync 옵션을 추가하세요. 이것은 무엇과 일치하는 옵션입니다 src/bin/의 다른 도구(pg_checksums, pg_dump, pg_rewind 및 pg_basebackup)은 다음과 같은 경우 I/O 작업을 활용하는 데 유용합니다. 테스트하는 것. 이는 프로덕션 환경에서는 사용되지 않습니다. 모든 pg_upgrade의 회귀 테스트는 이 새로운 옵션을 사용하도록 업데이트되었습니다. 이 I/O가 제한된 환경에서는 최대 몇 초 정도 단축됩니다. 업그레이드된 새 클러스터에 대한 데이터 폴더 플러시를 방지합니다. 작성자: Michael Paquier 검토자: Peter Eisentraut 토론:스포츠 토토 베트맨://postgr.es/m/YbrhzuBmBxS/DkfX@paquier.xyz 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/3d5ffccb6df323f528cf870c26d0d0517ffe3eaa

  • pg_receivewal의 TAP 테스트에서 오타를 수정했습니다. d62bcc8에서 도입되었으며, 그 지역에서 해킹을 하고 있어요.스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/22592e10b41a95f841642fa16127521989177bbc

톰 레인이 밀렸습니다:

Peter Geoghegan이 밀었습니다:

  • vacuumlazy.c: dead_tuples의 이름을 dead_items로 바꿉니다. 커밋 8523492d 단순화됨 항목이 VACUUM에 대해 "죽은" 것으로 간주된다는 것이 무엇을 의미하는지: TID는 다음에서 수집됩니다. 메모리(인덱스 진공화 준비 중)는 항상 LP_DEAD 스텁에서 가져와야 합니다. 정리 후에 발견된 힙 페이지의 라인 포인터. 이로써 공식화됐다. 인덱스 진공화(및 힙 진공화)는 선택적 프로세스라는 생각입니다. 달리 가지치기 작업을 위반할 위험 없이 무기한 연기될 수 있습니다. 기본 불변성. 예를 들어 LP_DEAD 항목을 명확하게 남겨 둡니다. 거래 ID 랩어라운드의 위험이 추가되지 않습니다. 당신은 가질 수 없습니다 트랜잭션 ID가 없는 트랜잭션 ID 랩어라운드. 이름을 바꾸는 것 DEAD 튜플(저장소가 있는 튜플)을 참조하면 이 모든 것이 강화됩니다. 코드 Vacuumlazy.c 외부에서는 계속해서 죽은/삭제된 항목의 구분을 모호하게 만들고 있습니다. 튜플 및 LP_DEAD 항목. 이는 Autovacuum 예약이 필요하기 때문에 필요합니다. 여전히 대부분 "죽은 항목/튜플" 통계에 의해 구동됩니다. 미래에는 우리가 이 모델을 좀 더 정교한 모델로 교체하는 것이 유용하다는 것을 알았습니다. 진공청소를 더 자주 수행하도록 자동 진공청소기를 가르치는 단계 비대해지기 쉬운 개별 인덱스를 타겟팅합니다. 버전 변동을 통해. 전달하면서 다음과 같은 일부 함수 서명을 단순화합니다. VACUUM의 dead_items 배열을 처리합니다. 저자: Peter Geogheganpg@bowt.ie검토자: 사와다 마사히코sawada.mshk@gmail.com토론:스포츠 토토 베트맨://postgr.es/m/CAH2-WzktGBg4si6DEdmq3q6SoXSDqNi6MtmB8CmmTmvhsxDTLA@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/4f8d9d1217956798e761491d236af576b27f5e12

  • vacuumlazy.c: 남아있는 "dead tuple" 참조를 수정합니다. 커밋에 대한 감독 4f8d9d12. 보고자 : 사와다 마사히코sawada.mshk@gmail.com토론:스포츠 토토 베트맨://postgr.es/m/CAD21AoDm38Em0bvRqeQKr4HPvOj65Y8cUgCP4idMk39iaLrxyw@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/4bdfe6855901a4104dbdac2be53d465b626e244d

  • 정리 잠금 용어를 표준화합니다. "초독점 잠금"이라는 용어는 수년 동안 nbtree에 처음 등장한 "버퍼 정리 잠금"의 동의어 전에. 정리 잠금이라는 용어를 일관되게 사용하여 사물을 표준화하십시오. 이 커밋 276db875로 시작된 작업을 완료합니다. 둘이 있을 이유가 없지 용어. 하지만 하나만 갖는 데는 타당한 이유가 있습니다. 주변의 혼란을 피하기 위해서입니다. VACUUM이 일반 배타적 잠금이 아닌 전체 정리 잠금을 획득하는 이유 인덱스 AM에서 ambulkdelete 호출 중. 이것은 아무 관련이 없습니다 물리적 인덱스 데이터 구조 자체를 보호합니다. 다음이 필요합니다. 힙/테이블을 가리키는 TID를 보장하는 잠금 프로토콜을 구현합니다. 구조가 안전해지기 전에는 VACUUM에 의해 재활용 표시를 받을 수 없습니다. VACUUM이 첫 번째 힙 동안 정리 잠금을 사용하는 방법과 다소 유사합니다. 통과). 인덱스 AM이 이를 구현하는 것이 반드시 필요한 것은 아닙니다. 잠금 프로토콜 - 여러 인덱스 AM은 MVCC 스냅샷을 단독으로 사용합니다. 안전하지 않은 TID 재활용을 방지하기 위한 인터록. 통과하면서 nbtree를 업데이트하세요. 읽어보세요. 앞서 언급한 인덱스 진공청소에 대한 논의는 명확하게 분리되어 있습니다. "드롭 리프 페이지 핀" 최적화에 대한 논의에서 잠금 프로토콜 커밋 2ed5b87f에 의해 추가되었습니다. 이제 우리는 후자에 대한 논의를 다음과 같이 구성합니다. 개별 인덱스 스캔이 적용을 안전하게 거부할 수 있는 방법을 설명합니다. 표준 잠금 프로토콜(따라서 VACUUM에 의한 진행 차단을 방지할 수 있음) 또한 nbtree 중에 최적화를 적용하는 것이 안전하지 않은 이유를 문서화하세요. 인덱스 전용 스캔. 저자: Peter Geogheganpg@bowt.ie토론:스포츠 토토 베트맨://postgr.es/m/CAH2-WzngHgQa92tz6NQihf4nxJwRzCV36yMJO_i8dS+2mgEVKw@mail.gmail.com토론:스포츠 토토 베트맨://postgr.es/m/CAH2-WzkHPgsBBvGWjz=8PjNhDefy7XRkDKiT5NxMs-n5ZCf2dA@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/bcf60585e6e0e95f0b9e5d64c7a6edca99ec6e86

Amit Kapila가 푸시됨:

다니엘 구스타프손이 밀었습니다:

Álvaro Herrera가 푸시됨:

Tomáš Vondra가 밀었습니다:

피터 아이젠트라우트가 밀었습니다:

로버트 하스가 밀었습니다:

  • tar 아카이브가 이제 적절하게 종료되었다는 문서입니다. 커밋 5a1007a5088cd6ddf892f7422ea8dbaef362372f가 서버 동작을 변경했지만 기존 동작이 문서화되어 있다는 사실을 알지 못했기 때문에 문서를 업데이트하세요. 이 커밋이 그렇게 합니다. 나는 다음과 같은 점을 언급하기로 결정했습니다. 단순히 편차에 대한 참조를 제거하는 것이 아니라 동작이 변경되었습니다. 표준에서. 도구 작성자에게 도움이 될 것 같았습니다. 토론:http://postgr.es/m/CA+TgmoaYZbz0=Yk797aOJwkGJC-LK3iXn+wzzMx7KdwNpZhS5g@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/81fca310b38e7808dff9c01a26564e8f2db10893

  • 기본값은 log_checkpoints=on, log_autovacuum_min_duration=10m입니다. 아이디어는 여기서 특정 시점에서 성능 문제가 발생한 것으로 알려진 경우 어느 시점에서든 얻을 수 있는 정보가 있다면 좋은 일입니다. 그 당시 무슨 일이 일어났는지 파악하는 데 도움이 되는 로그입니다. 이 변화는 평균 이상의 반대를 불러일으켰습니다. 기본 설정을 사용하는 서버는 다음과 같은 경우에도 일정량의 로그 출력을 생성합니다. 아무것도 잘못되지 않았습니다. 그러나 내 계산에 따르면 메일링 리스트 토론에서는 변화를 찬성하는 사람이 반대하는 사람보다 약 두 배나 많았습니다. 이유는 추가 로그 출력이 실제로 문제가 되지 않는다고 믿는 것은 다음과 같습니다. (1) 이 설정으로 메시지가 생성될 수 있는 비율은 1로 제한됩니다. 적절하게 구성된 시스템 및 (2) 프로덕션 시스템에서 몇 분마다 연결 실패로 인해 로그에 더 많은 정크가 있는 경향이 있습니다. 시도, 애플리케이션 활동에 의해 생성된 ERROR 메시지 등. Bharath Rupireddy, Fujii Masao와 제가 검토했습니다. 다른 많은 사람들 스레드에 댓글을 달았지만 내가 볼 수 있는 한 그것은 패치를 검토하기보다는 변경의 장점을 선택하세요. 논의:스포츠 토토 베트맨://postgr.es/m/CALj2ACX-rW_OeDcp4gqrFUAkf1f50Fnh138dmkd0JkvCNQRKGA@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/64da07c41a8c0a680460cdafc79093736332b6cf

  • InitXLOGAccess()를 제거하세요. RecoveryInProgress() 호출은 좋지 않습니다. InitXLOGAccess(), 상태 조회 기능은 일반적으로 초기화 수행의 부작용. 전화해서 문제를 해결할 수 있어요 InitXLOGAccess()를 다른 곳에서 제거해 보겠습니다. 전혀. InitXLogAccess()가 한 일 중 하나는 wal_segment_size를 초기화하는 것입니다. 하지만 그렇게 할 필요는 없습니다. 포스트마스터에서 PostmasterMain()이 호출됩니다. LocalProcessControlFile() 및 모든 하위 프로세스는 해당 값을 상속합니다. EXEC_BACKEND buld를 제외하고 각 백엔드는 SubPostmasterMain()을 실행합니다. 이는 또한 LocalProcessControlFile()을 호출합니다. 또 다른 것은 InitXLOGAccess() RedoRecPtr 및 doPageWrites를 업데이트했지만 이는 중요하지 않습니다. 이를 사용하는 모든 코드는 변경된 것으로 밝혀지면 다시 시도합니다. 유일한 차이점은 대부분의 코드가 이제 다음과 같은 초기 값을 보게 된다는 것입니다. 아주 오래된 것이 아니라 확실히 유효하지 않습니다. 하지만 이는 백엔드 수명당 한 번만 발생하므로 큰 문제는 아닙니다. 거래. 내가 작성한 패치, Nathan Bossart, Michael Paquier, Andres가 검토함 Freund, Heikki Linnakangas 및 Álvaro Herrera. 토론:http://postgr.es/m/CA+TgmoY7b65qRjzHN_tWUk8B4sJqk1vj1d31uepVzmgPnZKeLg@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/fa0e03c15a9f67671f0a6e0ec66d5e2ac7119c8a

후지 마사오가 밀었습니다:

  • postgres_fdw: 빈 메시지에 대한 예기치 않은 보고를 수정합니다. pgfdw_report_error() postgres_fdw에서는 PGresult 또는 PGconn으로부터 메시지를 받아 오류를 보고합니다. 원격 서버에서 받았습니다. 이전에는 메시지를 받을 수 있었다면 둘 다 예기치 않게 빈 메시지가 보고되었습니다. 이것의 원인 문제는 pgfdw_report_error()가 다음과 같은 경우를 제대로 처리하지 못했다는 것입니다. 메시지를 얻을 수 있었고 해당 로컬 변수 message_primary가 다음으로 설정되었습니다. '\0'. 이 커밋은 pgfdw_report_error()를 개선하여 다음을 보고합니다. 메시지가 없고 message_primary가 다음인 경우 "...을 얻을 수 없습니다."라는 메시지가 나타납니다. '\0'으로 설정합니다. 이는 message_primary가 NULL인 경우와 동일한 동작입니다. dblink의 dblink_res_error()에도 동일한 문제가 있으므로 이 커밋도 개선되었습니다. 같은 방식으로요. 지원되는 모든 분기에 백패치를 적용합니다. 작가 : 후지이 Masao 검토자: Bharath Rupireddy 토론:스포츠 토토 베트맨://postgr.es/m/477c16c8-7ea4-20fc-38d5-ed3a77ed616c@oss.nttdata.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/557c39bba925d553c6bb12b5e80d1964d355583b

  • postgres_fdw: 쿼리 결과를 가져오는 동안 시간 초과가 만료되면 경고를 보고합니다. 원격 트랜잭션을 중단하거나 원격 서버에 취소 요청을 보내는 경우 postgres_fdw는 pgfdw_get_cleanup_result()를 호출하여 다음 결과를 기다립니다. 거래 중단 쿼리 또는 취소 요청이 도착합니다. 그것은 시간 초과가 만료되거나 연결 문제가 발생한 경우 발생합니다. 이전에는 postgres_fdw는 제한 시간이 만료되었거나 오류가 발생한 경우에도 경고 메시지를 보고하지 않았습니다. pgfdw_get_cleanup_result()에서 연결 문제가 발생했습니다. 이것은 다음을 만들 수 있습니다. 그러한 이벤트가 발생하면 문제 해결이 더 어려워집니다. 이 커밋은 pgfdw_get_cleanup_result()는 호출자에게 어떤 문제(시간 초과 또는 연결)가 있는지 알려줍니다. 오류)가 실패 시 발생했으며 또한 호출자에게 적절한 보고를 제공합니다. 해당 정보를 기반으로 한 경고 메시지입니다. 저자: 후지이 마사오(Fujii Masao) Bharath Rupireddy 토론:스포츠 토토 베트맨://postgr.es/m/15aa988c-722e-ad3e-c936-4420c5b2bfea@oss.nttdata.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/815d61fcd485e8c60dba22988bf5a90fc12df32d

  • doc: postgres_fdw.application_name에 대한 메모를 추가합니다. postgres_fdw.application_name은 모든 길이의 문자열일 수 있으며 짝수까지 포함할 수 있습니다. 비ASCII 문자. 그러나 전달되어 다음과 같이 사용될 때 외부 서버의 application_name은 NAMEDATALEN 미만으로 잘립니다. 문자 및 인쇄 가능한 ASCII 문자 이외의 모든 문자는 물음표로 대체되었습니다. 이 커밋은 이러한 메모를 문서에 추가합니다. 저자: 구로다 하야토 검토자: 호리구치 쿄타로, 후지이 마사오 토론:스포츠 토토 베트맨://postgr.es/m/TYCPR01MB5870D1E8B949DAF6D3B84E02F5F29@TYCPR01MB5870.jpnprd01.prod.outlook.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/58e2e6eb67fec14c793c74207407e172d7e0291d

앤드류 던스턴이 밀었습니다:

토마스 먼로가 밀었습니다:

Alexander Korotkov가 밀었습니다:

Andres Freund가 밀었습니다: