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이제 열려있습니다.
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해제.
스포츠 토토 베트맨://archives.postgresql.org/pgsql-jobs/2021-12/
Nordic PGDay 2022는 핀란드 헬싱키의 힐튼 헬싱키에서 개최됩니다 Strand Hotel은 2022년 3월 22일에 운영됩니다. CfP는 2021년 12월 31일까지 운영됩니다.여기
플래닛 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
톰 레인이 밀렸습니다:
random(), pg_erand48() 등을 더 나은 PRNG API 및 알고리즘으로 교체하세요. xoroshiro128로 표준화기본 PRNG 알고리즘으로 무리를 제거합니다. 플랫폼 종속성 및 근본적으로 사용되지 않는 PRNG 코드. 에서 또한 이번 API 교체로 인해 다음에서 알고리즘을 다시 쉽게 교체할 수 있습니다. 미래에는 그것이 필요하게 될 것입니다. xoroshiro128몇 퍼센트 느립니다 drand48 제품군보다 많지만 전체 너비 64비트 임의 값을 생성할 수 있습니다. 48비트일 뿐만 아니라 훨씬 더 신뢰할 수 있어야 합니다. 그럴 가능성이 높다 플랫폼에 따라 다르지만 플랫폼의 random()보다 눈에 띄게 빠릅니다. 당신은 생각하고 있습니다; 비전역 상태 벡터를 쉽게 가질 수 있습니다. 무작위()와는 다릅니다. 암호학적으로 강력하지는 않지만, 기능을 대체합니다. Fabien Coelho, Dean Rasheed, Aleksander가 검토함 Alekseev와 나 자신 토론:스포츠 토토 베트맨://postgr.es/m/alpine.DEB.2.22.394.2105241211230.165418@pseudo 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/3804539e48e794781c6145c7f988f5d507418fa8
pg_global_prng_state에 대한 이식성 해킹. PGDLLIMPORT는 다음에만 적합합니다. 변수가 백엔드에서 선언된 경우가 아니라 백엔드에서 선언된 변수입니다. 프런트엔드 코드에 포함된 라이브러리입니다. (특별히 좋은 수정은 아니지만, 지금은 다른 곳에서 사용되는 것과 동일한 방법을 사용하십시오.) 토론:스포츠 토토 베트맨://postgr.es/m/E1mrWUD-000235-Hq@gemulon.postgresql.org 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/11b500072e42c214462b973b0b05f1c68992226b
libpgcommon 및 libpgport에서 내보낸 변수 선언을 단순화합니다. 이 c2d1eea9e 및 11b500072 커밋과 다른 곳의 유사한 해킹을 되돌립니다. 그냥 사용할 수 있도록 PGDLLIMPORT 매크로를 설정하는 것이 좋습니다. 무조건. 프론트엔드 코드에서는 마킹이 필요하지 않기 때문에 작동할 수 있습니다. 다음에서 내보낸 변수에 대한 정의 또는 소비 파일에서 도서관; 프런트엔드 코드는 코어 백엔드 중 하나입니다. 그 동안에 대한 실제 문서를 작성하십시오. PGDLLIMPORT 및 PGDLLEXPORT 매크로. 의 제안을 바탕으로 제가 직접 패치했습니다. 로버트 하스. 토론:스포츠 토토 베트맨://postgr.es/m/1160385.1638165449@sss.pgh.pa.us 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/e04a8059a74c125a8af94acdcb7b15b92188470a
Doc: matview의 ORDER BY에 대한 문서를 개선합니다. 혼란스러운 것을 제거하십시오 구체화된 뷰 예제에서 ORDER BY를 사용합니다. 그것은 아무것도 추가하지 않습니다 하지만 사람들이 나쁜 관행을 따르도록 부추길 수도 있습니다. 새로고침을 명확히 하세요 뷰 순서가 유지되는지 여부에 대한 MATERIALIZED VIEW의 메모입니다(그렇지 않습니다). Maciek Sakrejda 토론:스포츠 토토 베트맨://postgr.es/m/CAOtHd0D-OvrUU0C=4hX28p4BaSE1XL78BAQ0VcDaLLt8tdUzsg@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/4f33af23e7e3ac30b3cb9480981c3accf401ef01
난수 소스를 확인할 때 크로스 컴파일에 대처하세요. 커밋 16f96c74d 크로스 컴파일 가능성을 고려하지 않아 선택하지 않으면 구성 단계에서 크로스 컴파일이 실패합니다. --openssl로. 이제 우리는 /dev/urandom이 다음과 같다고 가정하고 있습니다. 어디에서나 사용할 수 있으므로 크로스 컴파일이 필요하다고 가정하는 것이 합리적입니다. 목표도 실패보다는 그것을 가지고 있습니다. Vincas Dargis의 불만 사항에 따라. 이것이 나온 v14로 백패치합니다. 토론:스포츠 토토 베트맨://postgr.es/m/0dc14a31-acaf-8cae-0df4-a87339b22bd9@gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/b637101644aa84dccc7da4f30bad40452939b57a
psql: 서버로 전송되는 내용에 쿼리 내 "--" 주석을 포함합니다. psql의 어휘 분석기는 역사적으로 대시-대시(한 줄) 주석을 삭제했습니다. 수집되어 서버로 전송됩니다. 이는 목적과 일치하지 않습니다. 슬래시 스타 댓글과 사람들은 이전에 그런 것을 원한다고 불평했습니다. 댓글은 서버 로그에 캡처됩니다. 결정을 완전히 취소 그러나 행동 변화가 너무 큰 것 같습니다. 특히 다음과 같은 댓글에 쿼리 시작 앞의 줄은 일반적으로 다음 줄로 간주되지 않습니다. 해당 쿼리의 일부입니다. 상황을 개선하기 위해 우리가 할 수 있는 일은 명확하게 설명된 댓글내부첫 번째 이후의 쿼리 공백이 아니고 주석이 아닌 토큰이지만 쿼리 종료 세미콜론 앞에 있거나 백슬래시 명령. 이는 거의 사소한 코드 변경이며 다음에만 영향을 미칩니다. 몇 가지 회귀 테스트 결과. (동일한 규칙을 적용하려고 시도하고 싶은 유혹이 있습니다. 댓글에 별표를 표시합니다. 그러나 그것을 얻지 않고는 그것을 하는 방법을 알기가 어렵습니다. 특히 사용자가 선을 넘는 댓글에 대한 이상한 기록 동작 그런 다음 별표 슬래시와 동일한 줄에서 새 쿼리를 시작합니다. 를 고려하여 불만 사항이 없으면 그 사건은 그대로 두겠습니다.) 토론:스포츠 토토 베트맨://postgr.es/m/CAJcOf-cAdMVr7azeYR7nWKsNp7qhORzc84rV6d7m7knG5Hrtsw@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/83884682f4df96184549b91869a1cf79dafb4f94
psql: 쿼리 사이의 "--" 주석을 별도의 기록 항목으로 처리합니다. 만약에 새 쿼리에 대해 공백이 아닌 주석이 아닌 토큰을 아직 수집하지 않았습니다. 다른 줄을 읽기 전에 현재 입력 줄을 기록으로 플러시합니다. 이 psql의 기록 동작을 다음 줄만 포함하는 관찰과 일치시킵니다. 주석은 일반적으로 다음 쿼리의 일부로 간주되지 않습니다. psql의 촉발하는 행동은 변하지 않기 때문에 그 견해와도 일치합니다. 공백이나 "--"가 아닌 항목을 입력할 때까지 프롬프트 댓글. Greg Nancarrow, 제가 조금 단순화했습니다. 토론:스포츠 토토 베트맨://postgr.es/m/CAJcOf-cAdMVr7azeYR7nWKsNp7qhORzc84rV6d7m7knG5Hrtsw@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/c2f654930e9f8119b9ed12caab6192d0aafe5ebd
psql: 기본적으로 comment-begin 설정을 유용한 값으로 초기화합니다. Readline의 Meta-# 명령은 시작 부분에 주석 표시를 삽입해야 합니다. 현재 라인의. 그러나 기본 마커는 완전히 "#"입니다. SQL에는 도움이 되지 않습니다. 대신 "--"로 설정하세요. (이 설정은 여전히 가능합니다. ~/.inputrc 파일에서 재정의되므로 이 변경 사항은 다음 사용자에게 영향을 미치지 않습니다. 명령을 유용하게 만들기 위한 조치를 이미 취했습니다.) 토론:스포츠 토토 베트맨://postgr.es/m/CAJcOf-cAdMVr7azeYR7nWKsNp7qhORzc84rV6d7m7knG5Hrtsw@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/3d858af07ee67efda3778bdd655852afabf4a125
대규모 REASSIGN OWNED BY 작업 중 메모리 누수를 방지하세요. 는 다양한 ALTER OWNER 루틴은 CurrentMemoryContext에서 메모리 누수를 일으키는 경향이 있습니다. 명령당 한 번만 호출되면 문제가 되지 않습니다. 하지만 이것에 많은 물건을 만지는 용도로 사용하면 심각한 상황이 발생할 수 있습니다. 메모리 누수. 단기 컨텍스트에서 각 호출을 실행하여 이 문제를 해결하세요. (드롭 OWNED BY에도 비슷한 문제가 있을 수 있습니다. 단, 알아차리기 전에 테이블 공간을 잠그십시오. REASSIGN은 대부분의 경우 수정할 가치가 있습니다. 테이블이 아닌 개체 유형의 경우 잠금이 필요하지 않습니다.) 지원되는 모든 개체에 대한 백패치 가지. 불행하게도 뒤쪽 가지에서는 제한된 범위에만 도움이 됩니다. 이전에 이 용도로 사용하면 sinval 메시지 대기열이 꽤 많이 부풀어오르기 때문입니다. 3aafc030a를 커밋하여 실제 메모리와 거의 비슷한 메모리를 소비합니다. 유출. 그래도 간단한 수정으로 누출이 확실하므로 수정하는 것이 좋습니다. 그것. Justin Pryzby, Guillaume Lelarge 토론 보고서에 따르면:스포츠 토토 베트맨://postgr.es/m/CAECtzeW2DAoioEGBRjR=CzHP6TdL=yosGku8qZxfX9hhtrBB0Q@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/babe545caeba4c62feb3030940d93432721eea57
rl_variable_bind()에 대한 구성 프로브를 추가합니다. 매우 오래된 readline 라이브러리에는 이 기능이 없기 때문에 커밋 3d858af07이 실패합니다. 빌드팜당 (Michael Paquier를 통해). 토론:스포츠 토토 베트맨://postgr.es/m/E1msTLm-0007Cm-Ri@gemulon.postgresql.org 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/a7da41981021575e2359683d994eec6c9d246321
Windows에서는 백엔드 종료 중에 클라이언트 소켓을 명시적으로 닫습니다. 그것 Winsock이 어떤 항목도 삭제하지 못하도록 하려면 이것이 필요하다는 것이 밝혀졌습니다. 아직 전송되지 않은 데이터(예: 처리 이유를 설명하는 오류 메시지) 종료. 커널이 암시적으로 닫는다는 것은 꽤 이상합니다. 명시적인 종료와는 다르게 작동하지만 논쟁하기는 어렵습니다. 실험 결과. Alexander Lakhin과 Lars가 독립적으로 제출함 Kanis(제가 쓴 댓글입니다). 지원되는 모든 분기에 백패치를 적용합니다. 논의:스포츠 토토 베트맨://postgr.es/m/90b34057-4176-7bb0-0dbb-9822a5f6425b@greiz-reinsdorf.de토론:스포츠 토토 베트맨://postgr.es/m/16678-253e48d34dc0c376@postgresql.org 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/6051857fc953a62db318329c4ceec5f9668fd42a
pg_dump의 덤프할 객체 구성요소 추적을 리팩토링합니다. 분할 DumpableObject.dump 비트마스크 필드를 별도의 비트마스크 추적으로 변환 구성 요소가 덤프되도록 요청되었으며(기존 "덤프" 필드에서) 특정 개체에 대한 구성 요소가 존재합니다(새 "구성 요소" 필드에 있음). 이는 비트 설정과 관련된 일부 복잡하고 쉽게 깨지는 논리를 제거합니다. 나중에 삭제합니다. 더 중요한 것은 원래의 상태를 복원한다는 것입니다. pg_dump의 보조 데이터 수집 쿼리가 의도한 동작 우리가 버리는 데 관심이 없는 개체에 대해 처형됩니다. 그 최적화는 관련 없는 비트 때문에 덤프 플래그가 비트마스크로 바뀔 때 깨졌습니다. 많은 경우에 설정된 상태로 유지되는 경향이 있었습니다. "구성 요소" 필드는 다음에서 시작하므로 최소한의 비트 세트를 필요에 따라 추가하고 "덤프"와 AND로 처리합니다. 우리가 실제로 버려야 할 것이 무엇인지에 대한 신뢰할 수 있는 지표를 제공합니다. 요청 비트를 관리하는 논리를 복잡하게 만듭니다. 이것은 예를 들어 다음과 같은 경우 필요한 쿼리 수가 크게 달라집니다. 확장에는 많은 기능이 있습니다. 토론:스포츠 토토 베트맨://postgr.es/m/2273648.1634764485@sss.pgh.pa.us토론:스포츠 토토 베트맨://postgr.es/m/7d7eb6128f40401d81b3b7a898b6b4de@W2012-02.nidsa.loc 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/5209c0ba0bfd16f23e38f707e487c0626e70564c
pg_dump의 객체 ACL 처리를 다시 생각해보세요. 기존의 대부분을 버리고 이에 대한 논리는 값비싼 하위 선택으로 인해 매우 비효율적이었기 때문입니다. 우리가 전혀 관심을 갖지 않을 ACL 데이터를 수집하기 위해 실행되었습니다. 덤핑. 초기 객체 유형별 쿼리에서 ACL 처리를 줄입니다. 원래대로 카탈로그 ACL 필드의 모음입니다. 가져오기 해당 카탈로그의 단일 스캔에서 pg_init_privs 데이터를 별도로 수행하고 클라이언트 측에서 계산을 병합합니다. 사용된 별도의 코드 경로를 제거하세요. 9.6 이전 소스 서버의 경우; 그들을 다르게 대할 이유가 없습니다 pg_init_privs가 비어 있는 최신 서버에서. 토론:스포츠 토토 베트맨://postgr.es/m/2273648.1634764485@sss.pgh.pa.us토론:스포츠 토토 베트맨://postgr.es/m/7d7eb6128f40401d81b3b7a898b6b4de@W2012-02.nidsa.loc 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/0c9d84427f441602425b0e18be5cfe751d1d8ebe
pg_dump에서 안전하지 않은 서버측 함수 호출을 연기합니다. 전화를 피하세요 pg_get_partkeydef(), pg_get_expr(relpartbound) 및 regtypeout이 나올 때까지 관련 테이블을 잠급니다. 기존 코딩은 심각한 실패 위험에 처해 있습니다. 삭제를 포함하여 동시 DROP TABLE 명령이 진행 중인 경우 다른 세션의 임시 테이블. 틀림없이 이것은 버그 수정이어야 합니다. 백패치되었지만 적당히 침해적이어서 그렇게 많은 경우는 없었습니다. 그러한 실패에 대한 불만. 지금은 HEAD에 넣어두겠습니다. 토론:스포츠 토토 베트맨://postgr.es/m/2273648.1634764485@sss.pgh.pa.us토론:스포츠 토토 베트맨://postgr.es/m/7d7eb6128f40401d81b3b7a898b6b4de@W2012-02.nidsa.loc 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/e3fcbbd623b9ccc16cdbda374654d91a4727d173
pg_dump의 성능이 중요한 경로에서 개체별 쿼리를 피하십시오. 대신에 덤프할 각 테이블에 대해 보조 데이터 수집 쿼리를 실행하고, 쿼리를 하나만 실행하고 WHERE 절을 사용하여 쿼리를 하나만 적용하도록 제한합니다. 우리가 덤프하려는 테이블. 인덱스, 제약 조건, 트리거도 마찬가지입니다. 이는 데이터베이스를 덤프하는 데 필요한 쿼리 수를 크게 줄입니다. 많은 테이블을 포함합니다. 많은 대상을 나열하는 WHERE 절이 있는 것처럼 보일 수 있습니다. OID는 비효율적일 수 있지만 적어도 최신 서버 버전에서는 매우 상당한 속도 향상을 제공합니다. (원칙적으로는 동일할 수 있습니다. 함수와 같은 다른 객체 유형으로 수행됩니다. 하지만 그러기 위해서는 pg_dump의 중요한 리팩토링으로 인해 이러한 문제는 다른 방법으로 다루어질 것입니다. 다음 패치에서 변경됩니다.) 새로운 WHERE 절은 unnest()에 따라 달라집니다. 8.4 이상에서만 존재하는 기능입니다. 우리는 그것들을 구현할 수 있었습니다 오래된 서버의 경우에는 다르지만 이에 대한 지속적인 논의가 있습니다. 아마도 9.2 이전 서버에 대한 pg_dump 지원이 중단될 수 있으므로 헛된 일이 될 것 같습니다. 지금은 서버 버전 확인만 하면 됩니다. = 8.4를 요구하며, 그에 따른 코드 제거를 중단하지 않고 죽은 것으로 판명되었습니다. 곧 그 상황을 정리하겠습니다. 내가 만든 패치 Andres Freund의 아이디어. 논의:스포츠 토토 베트맨://postgr.es/m/7d7eb6128f40401d81b3b7a898b6b4de@W2012-02.nidsa.loc 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/9895961529ef8ff3fc12b39229f9a93e08bca7b7
pg_dump에서 반복적인 개체별 쿼리에 대해 PREPARE/EXECUTE를 사용하십시오. 물체의 경우 함수와 같은 pg_dump는 동일한 보조 데이터 수집 쿼리를 실행합니다. 덤프할 각 개체에 대해. 이를 방지하기 위해 쉽게 리팩터링할 수 없습니다. 반복적인 쿼리이지만 계획을 줄이기 위해 이러한 쿼리를 준비할 수 있습니다. 비용. 이 패치는 이 아이디어를 함수, 집계, 연산자 및 데이터 유형. 더 멀리 운반할 수 있지만 나머지 종류의 물건은 일반적인 데이터베이스에는 걱정할 만한 충분한 시간이 나타나지 않을 것입니다. 끝났다. 더욱이 PREPARE를 수행하지 않으면 순손실이 발생할 가능성이 높습니다. 준비된 쿼리를 적용할 개체가 적어도 수십 개 있습니다. 논의:스포츠 토토 베트맨://postgr.es/m/7d7eb6128f40401d81b3b7a898b6b4de@W2012-02.nidsa.loc 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/be85727a3df743a1f7e93b41dd7ac2b667e8ae04
병렬 덤프를 예약하는 동안 TOAST 데이터를 고려하세요. 병렬 모드에서는 pg_dump는 가장 큰 테이블로 테이블 데이터 덤핑 작업을 주문하려고 합니다. 먼저. 그러나 pg_class.relpages 값만 참조하여 테이블 크기를 결정합니다. 이는 TOAST 데이터를 무시하므로 결과가 좋지 않을 수 있습니다. 일부 대규모 테이블이 대부분 TOAST 데이터인 경우의 예약 결정 다른 사람들은 거의 가지고 있지 않습니다. 수정하려면 relpages 값을 추가하세요. TOAST 테이블도 있어요. 이 패치는 잠재적인 정수 오버플로 문제도 해결합니다. off_t가 32비트에 불과한 시스템에서는 잘못된 스케줄링이 발생할 수 있습니다. 넓다. 이러한 플랫폼은 아마도 야생에서는 멸종되었을 것입니다. 그러나 우리는 여전히 그렇습니다. 명목상 지원하므로 수리하십시오. Hans Buschmann의 불만 사항에 따라. 논의:스포츠 토토 베트맨://postgr.es/m/7d7eb6128f40401d81b3b7a898b6b4de@W2012-02.nidsa.loc 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/65aaed22a849c0763f38f81338a1cad04ffc0e2c
Windows에서는 클라이언트 소켓을 닫는 동안 shutdown()도 호출하세요. 더 나아가 실험에 따르면 커밋 6051857fc를 사용할 때 충분하지 않은 것으로 나타났습니다(일부 버전?) OpenSSL. 이유는 모호하지만 shutdown(socket, SD_SEND) 문제를 개선합니다. Andrew Dunstan과 Alexander의 테스트에 따라 라킨. 이전과 마찬가지로 백패치합니다. 논의:스포츠 토토 베트맨://postgr.es/m/af5e0bf3-6a61-bb97-6cba-061ddf22ff6b@dunslane.net 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/ed52c3707bcf8858defb0d9de4b55f5c7f18fed7
Doc: xfunc-c-type-table을 개선하세요. 목록 유형은 숫자 및 타임스탬프tz입니다. 여기에는 포함된 적이 없는 것 같습니다. bigint를 복원합니다. 의심할 여지 없이 v12에서 실수로 삭제되었습니다. 일부 오류를 수정하거나 적어도 더 이상 사용되지 않는 오류를 수정하세요. 사용법(아무도 더 이상 float 인수를 "float8*"로 선언하지 않습니다. 후드 아래에 있을 수도 있습니다). 다시 알파벳으로 표시합니다. 주장처럼 보이는 것을 제거하십시오. 이것은 내장된 유형의 전체 목록입니다. Oskar Stenberg의 질문에 따라. 토론:스포츠 토토 베트맨://postgr.es/m/HE1PR03MB2971DE2527ECE1E99D6C19A8F96E9@HE1PR03MB2971.eurprd03.prod.outlook.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/6f0e6ab04de5f52e4e0872d3ace2bb6a35e8b0b1
"내부 사용" 유형에 대한 새로운 유형 범주를 생성하십시오. 역사적으로 우리는 S(String) 유형 범주에 "char"를 입력합니다. 비록 이를 문자열이라고 부르는 것은 확장을 고려하면 1바이트만 저장할 수 있습니다. (실제 사용법에서는 열거형에 더 가깝습니다.) 이 선택은 이제 특별한 관점에서 볼 때 잘못된 것 같습니다. TYPCATEGORY_STRING에 대해parse_func.c 및parse_coerce.c가 가지고 있는 경험적 방법: "char"가 이러한 우선적인 캐스팅 동작을 갖는 것은 좋은 생각이 아닙니다. 그보다 더 나쁜 것은 다음과 같은 특수 목적 유형을 발명하는 최근 패치입니다. pg_node_tree는 해당 유형에 typcategory S를 할당했습니다. 할 수 있다는 가정하에 설계된 우대 캐스팅 처리 임의의 텍스트를 유지합니다. 문제를 해결하려면 다음에 대한 새로운 카테고리 TYPCATEGORY_INTERNAL을 만드세요. 내부 사용 유형을 만들고 이를 모든 유형에 할당합니다. 코드 'Z'를 사용했습니다. 더 나은 아이디어가 부족합니다('나'는 이미 선택되었습니다). 이 변경으로 인해 쿼리 하나가 중단되었습니다. psql/describe.c에서 이제 카탈로그 "char" 열을 명시적으로 캐스팅해야 합니다. 장식되지 않은 리터럴과 연결하기 전에 텍스트로 변환합니다. 또한, 테스트 contrib/citext의 경우 이제 citext를 "char"로 변환하려면 명시적인 캐스트가 필요합니다. 이 변경의 요점은 "char"가 놀랍게도 사용 가능한 캐스트 대상이므로 이러한 파손은 괜찮은 것 같습니다. 보고서당 이안 캠벨. 토론:스포츠 토토 베트맨://postgr.es/m/2216388.1638480141@sss.pgh.pa.us 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/07eee5a0dc642d26f44d65c4e6263304208e8583
poly_distance()를 구현합니다. geo_ops.c에는 다음과 같은 6개의 함수가 포함되어 있습니다. ERRCODE_FEATURE_NOT_SUPPORTED를 던지는 스텁입니다. 계속 그랬으니까 20년이 넘도록 채우는 데에는 별로 관심이 없었습니다. 스텁에서. 그러나 나는 poly_distance()를 삭제하는 것이 불편합니다. 다른 모든 기하학적 유형은 다른 객체와의 거리를 지원합니다. 동일한 유형의 기능. 우리는 이 기능을 쉽게 추가할 수 있습니다. 폴리_오버랩() 및 경로_거리(). (기존) 테스트가 가능합니다. 이 경우 수치적으로 불안정한 부분이 나타날 수 있지만 빌드팜에서는 바라건대 그렇다면 공개하겠습니다. 통과하면서 설명하기 위해 문서를 개선하세요. 애초에 다각형이 닫힌 경로와 구별되는 이유입니다. 토론:스포츠 토토 베트맨://postgr.es/m/3426566.1638832718@sss.pgh.pa.us 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/c5c192d7bdfa78f19e735610488b1cc5ad6e41cc
Doc: 구현되지 않은 기하학적 연산자를 문서화 해제합니다. 커밋 791090bd7에서 나는 에 나열된 모든 기하학적 연산자에 대한 문서를 작성하려고 노력했습니다. pg_operator. 그러나 지금은 적어도 일부 누락된 부분이 있을 수 있는 것으로 보입니다. 일부 운영자 항목이 다음을 가리키기 때문에 의도적이었습니다. 구현되지 않은 스텁 기능. 문서에서 해당 항목을 다시 제거하십시오. (HEAD에서는 c5c192d7b가 이에 대한 구현을 추가했기 때문에 poly_distance는 그대로 유지됩니다.) Anton Voloshin의 불만 사항에 따라. 토론:스포츠 토토 베트맨://postgr.es/m/3426566.1638832718@sss.pgh.pa.us 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/922b23c13be075595c2abc67736b214cb90f84d9
구현되지 않았거나 문서화되지 않은 기하학적 함수 및 연산자를 제거합니다. 아무도 이 스텁을 20년 넘게 채워왔으니 이제 그 기록을 버려야 할 때입니다. 지금 당장 구현될 수도 있을 거라 생각합니다. 연관된 pg_operator 그리고 pg_proc 항목은 혼란스러운 공간 낭비일 뿐입니다. 불만 사항에 따라 안톤 볼로신. 토론:스포츠 토토 베트맨://postgr.es/m/3426566.1638832718@sss.pgh.pa.us 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/189699dd3680d85c74c3886b33d9a9f83301defd
logtape.c의 right_offset()에서 데이터 유형 혼동을 수정합니다. 이것은 단지 중요할 수 있습니다 (a) long이 int보다 넓고 (b) 사용 가능한 블록의 힙이 다음을 초과하는 경우 UINT_MAX 항목은 거의 발생하지 않는 것 같습니다. 그래도 이론적인 버그인데, 따라서 오타가 발생한 v13으로 백패치합니다(커밋 c02fdc922). 지나가는데, 또한 swap_nodes()가 일관된 데이터 유형을 사용하도록 만드세요. Ma Liangzhu 토론:스포츠 토토 베트맨://postgr.es/m/17336-fc4e522d26a750fd@postgresql.org 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/2de3c1015cb2556af501c630b1768a20f111fe95
binaryheap.c 및 logtape.c의 선별 업/다운 코드를 개선합니다. 논리를 빌리세요 이는 Tuplesort.c에서 오랫동안 사용되어 왔습니다. 데이터를 물리적으로 교환하는 대신 두 개의 힙 항목에서 로컬에서 위 또는 아래로 선별되는 값을 유지합니다. 변수를 선택하고 필요에 따라 다른 값을 이동하면 됩니다. 이렇게 하면 코드가 더 짧고 더 빠릅니다. 현재 발신자가 실제로 있는지는 확실하지 않습니다. 알아차릴 만큼 시간이 중요하지만 코드 힙 유지 관리도 할 수 있습니다. 어디서나 같은 방식으로. Ma Liangzhu 및 Tom Lane 토론:스포츠 토토 베트맨://postgr.es/m/17336-fc4e522d26a750fd@postgresql.org 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/a2ff18e89ff8f29677084bffd1e3de9ca6cd7224
9.2 이전 서버에서 덤프에 대한 pg_dump/pg_dumpall 지원을 제거합니다. 당 토론을 통해 이전 서버에 대한 지원을 가능한 지점으로 제한하겠습니다. 현재로서는 9.2 이상인 최신 플랫폼에서 쉽게 구축할 수 있습니다. 이전 서버에서 덤프 전용 코드 천 줄 이상 제거 버전. (이전 유형의 변경사항과 마찬가지로 우리는 pg_restore의 오래된 아카이브 파일 읽기 기능 요즘에는 어떻게 테스트될지 궁금합니다.) 이렇게 하면 남아 있는 일부 데드 코드가 정리됩니다. 커밋 989596152보다 뒤쳐졌습니다. 토론:스포츠 토토 베트맨://postgr.es/m/2923349.1634942313@sss.pgh.pa.us 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/30e7c175b81d53c0f60f6ad12d1913a6d7d77008
9.2 이전 서버에서 업그레이드하기 위한 pg_upgrade 지원을 제거합니다. 토론에 따르면, 이전 서버에 대한 지원은 아직 구축할 수 있는 분기로 제한할 예정입니다. 현재 9.2 이상인 최신 플랫폼에서 쉽게 사용할 수 있습니다. 토론:스포츠 토토 베트맨://postgr.es/m/2923349.1634942313@sss.pgh.pa.us 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/e469f0aaf3c586c8390bd65923f97d4b1683cd9f
pg_dump의 --no-synchronized-snapshots 스위치를 제거하세요. 서버 버전 이 스위치를 사용해야 할 그럴듯한 이유가 있었지만 현재는 모두 지원이 중단되었습니다. 부주의한 DBA가 촬영하도록 하는 것 외에는 이를 그대로 놔두면 거의 성과가 없습니다. 발에 자신. 토론:스포츠 토토 베트맨://postgr.es/m/556122.1639520324@sss.pgh.pa.us 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/2a712066d0587f65fcecd44e884dc6a09958dbdd
lookup_rowtype_tupdesc 등 이후에는 항상 ReleaseTupleDesc를 사용하십시오. API 사양 이전에 lookup_rowtype_tupdesc에 대해 다음 중 하나를 사용할 수 있다고 말했습니다. ReleaseTupleDesc 또는 DecrTupleDescRefCount. 그러나 후자의 선택은 다음을 의미합니다. 호출자는 반환된 tupdesc가 다시 계산되었는지 확인해야 합니다. 나는하지 않는다 이 사양이 작성될 당시 그것이 항상 사실이었는지 지금 당장 기억해 보세요. 공유 레코드 유형 캐시를 도입했기 때문에 항상 그런 것은 아닙니다. 병렬 작업자. 이는 DecrTupleDescRefCount를 사용하는 호출자가 아마도 그렇게해서는 안되는 typcache 동작 세부 사항에 의존합니다. 따라서 ReleaseTupleDesc를 호출해야 한다고 API 사양을 변경하고 수정하세요. 그렇지 않은 여섯 명의 발신자. AFAICT 이것은 단지 미래를 보장하는 것일 뿐입니다. 여기에는 라이브 버그가 없습니다. 따라서 백패치가 없습니다. Chapman Flack의 불만에 따르면. 논의:스포츠 토토 베트맨://postgr.es/m/61B901A4.1050808@anastigmatix.net 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/bbc227e951ecc59a29205be4952a623e7d1dd534
pg_dump 및 pg_upgrade에서 갓 죽은 코드를 좀 더 정리하세요. 몇 가지를 놓쳤어요 Justin Pryzby가 지적한 대로 30e7c175b 및 e469f0aaf의 내용입니다. 토론:스포츠 토토 베트맨://postgr.es/m/2923349.1634942313@sss.pgh.pa.us 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/c49d926833fa6a987e3f9a66027f4a01d7a008be
9.2 이전 서버 버전에 대한 psql 지원을 제거합니다. 토론에 따라 우리는 기존 서버에 대한 지원을 여전히 쉽게 구축할 수 있는 지점으로 제한 현재 9.2 이상인 최신 플랫폼에서. 코드 제거 외에도 서버 = 9.2라는 가정에 따라 작동하지 않습니다. 시작을 조정했습니다. 지원되지 않는 버전에 대한 경고는 너무 오래된 서버에 대해 불평할 뿐만 아니라 너무 새로운 것. "일부 psql 기능이 작동하지 않을 수 있습니다"라는 경고가 적용됩니다. 정확히 두 경우 모두에 해당합니다. 토론:스포츠 토토 베트맨://postgr.es/m/2923349.1634942313@sss.pgh.pa.us 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/cf0cab868aa4758b7eec5f9412f2ec74acda7f45
typmod -1로의 캐스팅이 RelabelType을 생성하는지 확인하세요. 다음으로 변경된 코드를 수정하세요. 다른 것이 아닌 항상 RelabelType을 생성하도록 5c056b0c2를 커밋합니다. 지정되지 않은 typmod에 대한 캐스트의 경우. 그렇지 않으면 플래너 최적화가 실패할 수 있습니다. 일어난다. 이전 실험이 다음과 같았기 때문에 이 점을 놓친 것 같습니다. 숫자 유형에 대해 완료: 파서가 숫자()에 대한 호출을 바람직하지 않게 생성합니다. 길이 강제 함수이지만, 그런 다음 숫자_지원()은 이를 다음과 같이 최적화합니다. RelabelType을 사용하면 모든 것이 괜찮아 보입니다. 다음 유형에 대해서는 오작동합니다. bpchar와 같은 최적화되지 않은 길이 강제 함수. 보고서당 존 네일러. 이전 패치와 마찬가지로 지원되는 모든 브랜치에 백패치를 적용합니다. 결국 그랬다. 안타깝게도 여기에는 더 이상 9.6이 포함되지 않습니다. 이러한 유형의 변경을 거의 EOL에 가까운 분기에 적용해서는 안 됩니다. 토론:스포츠 토토 베트맨://postgr.es/m/CAFBsxsEfbFHEkouc+FSj+3K1sHipLPbEC67L0SAe-9-da8QtYg@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/9c356f4b2dd8f8ff49757287e387ab1d023e4449
별도의 테스트 스크립트에서 공개 스키마의 권한을 수정하세요. 이후 b073c3ccd를 커밋하려면 공개적으로 생성 권한을 부여해야 합니다. 많은 핵심 회귀 테스트 스크립트를 통과하기 위해 스키마를 PUBLIC으로 변경합니다. 해당 커밋은 GRANT를 추가하는 빠르고 더러운 방법을 통해 수행되었습니다. 먼저 실행되는 테이블스페이스 테스트입니다. 이는 단일 머신에서는 문제가 됩니다. 그러나 복제 테스트. 회귀를 실행하는 가장 덜 고통스러운 방법 이러한 설정에 대한 테스트는 테이블스페이스 테스트를 건너뛰는 것이며 더 이상 작동합니다. 문제를 해결하려면 먼저 실행할 별도의 "test_setup" 스크립트를 만들어 보겠습니다. 거기에 GRANT를 넣으세요. b073c3ccd의 변경 사항을 tablespace.source로 되돌립니다. 파일. 앞으로는 둘 사이의 결합을 줄이는 것이 좋을 것 같습니다. test_setup을 통해 널리 사용되는 개체를 생성함으로써 다양한 테스트 스크립트를 만들 수 있습니다. test_setup만 실행한 후에 대부분의 스크립트를 실행할 수 있다는 목표입니다. 그러려면 약간의 노력이 필요할 것이므로 이 커밋은 내 즉각적인 문제를 해결합니다. 고통 포인트. 논의:스포츠 토토 베트맨://postgr.es/m/1363170.1639763559@sss.pgh.pa.us 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/944dc45d1b633c4d612cdff9f15153ed609eaa35
pg_dump에서 데드 코드를 더 제거하세요. Coverity는 다음 중 일부에 대해 불만을 제기했습니다. dumpFunc() 및 buildACLCommands()는 이제 실제로는 도달할 수 없습니다. 제거하세요. 전달하면서 dumpFunc의 protrftype 처리를 줄입니다. 다른 분야와는 전혀 다릅니다.스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/b1c169caf0678a82cf26b5656e01399f6153456b
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가 푸시됨:
구독 작업자의 통계를 표시하는 보기를 추가하세요. 이 커밋은 새로운 것을 추가합니다 모든 정보를 보여주는 시스템 뷰 pg_stat_subscription_workers 논리적 복제 변경 사항을 적용하는 동안 발생하는 오류 초기 테이블 동기화를 수행하는 동안에도 마찬가지입니다. 구독 해당 구독이 제거되면 통계 항목도 제거됩니다. 또한 재설정을 위해 SQL 함수 pg_stat_reset_subscription_worker()를 추가합니다. 단일 구독 오류. 이 보기의 내용은 다음에서 사용할 수 있습니다. 충돌하는 특정 트랜잭션을 건너뛰는 향후 패치 구독자의 기존 데이터. 이 보기는 향후 다음으로 확장될 수 있습니다. 커밋/중단된 xact 수와 같은 기타 xact 관련 통계를 추적합니다. 구독 근로자를 위한 것입니다. 저자: 사와다 마사히코 검토자: 그렉 Nancarrow, Hou Zhijie, Tang Haiying, Vignesh C, Dilip Kumar, Takamichi Osumi, Amit Kapila 토론:스포츠 토토 베트맨://postgr.es/m/CAD21AoDeScrsHhLyEPYqN3sydg6PxAPVBboK=30xJfUVihNZDA@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/8d74fc96db5fd547e077bf9bf4c3b67f821d71cd
Doc: 논리적 복제 중 "파티션 연결" 제한을 추가했습니다. 부착 테이블을 다음과 같은 게시를 사용하여 루트가 게시된 파티션 트리로 게시_비아_파티션_루트를 true로 설정해도 테이블이 기존 상태로 유지되지 않습니다. 내용이 복제되고 있습니다. 이는 가입자가 고려하지 않기 때문에 발생합니다. 루트 테이블이 이미 있으므로 새로 연결된 파티션을 복제합니다. '준비' 상태. 이 동작은 PG13(83fd4532a7)에서 도입되었습니다. 조상을 통해 파티션 변경 사항을 게시할 수 있습니다. 우리는 고치는 것을 고려할 수 있습니다 앞으로는 이 제한이 적용됩니다. 저자: Amit Langote 검토자: Hou Zhijie, Amit Kapila Backpatch-through: 13 토론:스포츠 토토 베트맨://postgr.es/m/OS0PR01MB5716E97F00732B52DC2BBC2594989@OS0PR01MB5716.jpnprd01.prod.outlook.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/eb7828f54a44843a64a23d0891d7eb6018c0749e
커밋 8d74fc96db로 인해 발생한 회귀 테스트 실패를 수정합니다. 테스트는 그렇지 않았습니다. 변경 사항 적용과 관련 없는 오류로 간주됩니다. "복제 원본 OID %d이(가) 이미 활성화되어 있습니다..."라는 메시지가 테이블 동기화 작업자에서 발생할 수 있습니다. 변경 사항 복사를 시작하기 전에. 테스트를 강력하게 만들려면 대신에 다음이 필요합니다. 예상되는 오류와 오류의 원인을 확인하십시오. tablesync 또는 작업자 적용. 무해한 옵션인 "스트리밍 ="을 제거합니다. off"가 구독 생성 명령에서 발생하므로 이것이 기본값입니다. 당 빌드팜 멤버 사이드와인더. 저자: 사와다 마사히코 리뷰 작성자: Hou Zhijie, Vignesh C, Amit Kapila 토론:스포츠 토토 베트맨://postgr.es/m/CAD21AoDeScrsHhLyEPYqN3sydg6PxAPVBboK=30xJfUVihNZDA@mail.gmail.com토론:스포츠 토토 베트맨://postgr.es/m/E1mrtvV-0002Gz-73@gemulon.postgresql.org 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/41e66fee051619ab84828814554f73556a958850
pg_publication_tables 보기 결과의 중복을 제거합니다. 중복을 표시합니다 하위 테이블과 상위 테이블이 모두 있는 게시의 하위 테이블 값 게시_비아_파티션_루트를 false로 사용하여 게시됩니다. 사용자는 기대할 것입니다. 사용자가 없기 때문에 백패치를 하지 않기로 결정했습니다. 이에 대해 불만이 제기되었으며 심각한 문제는 아닌 것 같습니다. 작가 : 허우 Zhijie 검토자: Bharath Rupireddy, Amit Langote, Amit Kapila 토론:스포츠 토토 베트맨://postgr.es/m/OS0PR01MB5716E97F00732B52DC2BBC2594989@OS0PR01MB5716.jpnprd01.prod.outlook.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/a61bff2bf479cfebda18a1655323eec1b19370de
SCHEMA 게시의 모든 테이블 소유권 변경 문제를 수정했습니다. 다음을 확인하세요. ALL TABLES IN SCHEMA 게시의 새 소유자는 수퍼유저여야 합니다. 는 CREATE PUBLICATION 중에도 동일한 내용이 이미 보장됩니다. 작성자: Vignesh C 검토자: Nathan Bossart, Greg Nancarrow, Michael Paquier, Haiying Tang 토론:스포츠 토토 베트맨://postgr.es/m/CALDaNm0E5U-RqxFuFrkZrQeG7ae5trGa=xs=iRtPPHULtT4zOw@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/1a2aaeb0db1bccd97140d479c4247127f6cb9378
ROLLBACK PREPARED 작업을 디코딩하는 동안 원본 타임스탬프를 수정합니다. 이 잘못된 인수를 전달했기 때문에 발생합니다. ReorderBufferFinishPrepared(). 저자: 사와다 마사히코 리뷰 작성자: Vignesh C 백패치 통과: 14 토론:스포츠 토토 베트맨://postgr.es/m/CAD21AoBqhUqgDZUhUVnnwKRubPDNJ6m6fJDPgok3E5cWJLL+pA@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/e464cb7af317e216fef9bfe19a7c4df542817012
하위 테이블 데이터의 이중 게시 문제를 수정했습니다. 하위 테이블의 데이터를 게시합니다. 하위 테이블과 상위 테이블이 모두 있고 게시되는 게시의 경우 두 번 게시_비아_파티션_루트를 true로 설정합니다. 이는 가입자가 상위 및 하위 테이블을 모두 사용하여 동기화를 시작합니다. 둘 다 초기 테이블 목록에서 별도의 테이블로 사용됩니다. 다음을 확인하세요. 이러한 경우 pg_publication_tables는 상위 테이블만 반환합니다. 작가 : 허우 Zhijie 검토자: Greg Nancarrow, Amit Langote, Vignesh C, Amit Kapila 백패치 통과: 13 토론:스포츠 토토 베트맨://postgr.es/m/OS0PR01MB57167F45D481F78CDC5986F794B99@OS0PR01MB5716.jpnprd01.prod.outlook.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/5e97905a2c764d4ca36f5c6cccd0ebbf157b9df4
병렬 진공 구현을 개선합니다. 이전에는 병렬진공에서 병렬인 인덱스에 대해서만 IndexBulkDeleteResult의 shmem 영역이 할당되었습니다. 인덱스 진공 청소는 안전하며 액세스할 수 있는 shmem 영역에 null 비트맵이 있습니다. 이 로직은 너무 복잡했고, 초당 몇 비트만 절약한다는 작은 이점도 있었습니다. 인덱스. 이 커밋에서는 배열에 대한 전용 shmem 영역을 할당합니다. 병렬 안전 플래그, 인덱스 진공을 포함하는 LVParallelIndStats 상태 및 IndexBulkdeleteResult. 모든 인덱스에는 하나의 배열 요소가 있습니다. 병렬 인덱스 진공 청소가 안전하지 않거나 가치가 없는 인덱스도 마찬가지입니다. 이 커밋은 비트맵 관련 코드를 모두 제거하여 코드를 명확하게 만듭니다. 또한, 병렬 인덱스 진공 후에 각 인덱스 진공 상태 확인을 추가하여 모든 인덱스가 처리되었는지 확인하십시오. 마지막으로 병렬 진공의 이름을 바꿉니다. 일관성을 위해 Parallel_vacuum_* 함수를 사용합니다. 저자 : 사와다 마사히코 Andres Freund의 제안에 기초 검토자: Hou Zhijie, Amit Kapila 토론:/message-id/20211030212101.ae3qcouatwmy7tbr%40alap3.anarazel.de 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/22bd3cbe0c284758d7174321f5596763095cdd55
다니엘 구스타프손이 밀었습니다:
확장을 추가하려면configure_test_server_for_ssl을 확장하세요. 할 수 있도록 SSL 연결을 사용하여 확장을 테스트하려면configure_test_server_for_ssl을 허용하세요. 배열로 전달된 확장을 만듭니다. 각 확장은 모든 테스트 데이터베이스. 검토자: Tom Lanetgl@sss.pgh.pa.us검토자: Andrew 던스턴andrew@dunslane.net검토자: Dagfinn Ilmari Mannsåkerilmari@ilmari.org토론:스포츠 토토 베트맨://postgr.es/m/E23F9811-0C77-45DA-912F-D809AB140741@yesql.se 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/879fc1a579cc2e2e1dbb79686668b4de2071ab83
contrib/sslinfo에 대한 TAP 테스트를 추가합니다. 이는 다음의 기초적인 적용 범위를 추가합니다. sslinfo 확장을 SSL 테스트 하네스에 추가합니다. 출력은 다음에 의해 검증됩니다. pg_stat_ssl과 비교하여 일정 수준의 테스트 안정성을 제공해야 합니다. 기본 인증서가 약간 변경되었습니다. 다음을 제공하기 위해 새로운 인증서가 추가되었습니다. 테스트할 확장명입니다. 검토자: Tom Lanetgl@sss.pgh.pa.us검토자: Andrew Dunstanandrew@dunslane.net검토자: Dagfinn Ilmari Mannsåkerilmari@ilmari.org토론:스포츠 토토 베트맨://postgr.es/m/E23F9811-0C77-45DA-912F-D809AB140741@yesql.se 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/ae81776a23f78babc9707e22f95dea15aa2dbcd2
SSL 테스트 중 키에 대한 테스트별 임시 경로를 사용합니다. SSL 및 SCRAM TAP 테스트 스위트는 둘 다 제공된 테스트 키의 임시 복사본을 사용합니다. 올바른 권한을 확인하세요. 그러나 이것들은 다음을 사용하여 트리 내부에 복사되었습니다. 실제 임시 폴더가 아닌 임시 파일 이름입니다. 다음을 사용하여 수정 PostgreSQL::Test::Utils에서 제공하는 tmp_check. 톰 레인(Tom Lane)이 발견한 근처의 sslinfo TAP 테스트 패치를 검토합니다. 검토자: Tom Lanetgl@sss.pgh.pa.us토론:스포츠 토토 베트맨://postgr.es/m/599244.1638041239@sss.pgh.pa.us 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/c113d8ad50d62bfcc16bbd5ceec91122e0046ede
일반적으로 사용되는 변수에서 PF_USED_FOR_ASSERTS_ONLY를 제거하세요. fsstate in process_pending_requests(postgres_fdw.c에 있음)는 8998e3cafa2에 추가되었습니다. 어설션 전용 변수, 1ec7fca8592 외부 변수를 사용하여 명시됨 주장. get_index_column_opclass(lsyscache.c)의 rd_index는 2a6368343ff에 도입된 후 수정 커밋에서 즉시 사용됩니다. 그 직후 7e041603904가 표시됩니다. 이렇게 하면 PG_USED_FOR_ASSERTS_ONLY가 제거됩니다. 위에서 언급한 변수의 변수 장식입니다. 검토자: 그렉 낸캐로우gregn4422@gmail.com토론:스포츠 토토 베트맨://postgr.es/m/F959106C-0F21-43A5-B2AE-D007D51ACBEE@yesql.se 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/ac0db34e0e5c7ee6f8b5c33c264de3e671fbd4f7
MSVC에서 사용되지 않은 변수 경고 C4101을 비활성화합니다. 미사용에 대한 C4101 경고 변수는 PG_USED_FOR_ASSERTS_ONLY를 사용하여 개별적으로 억제할 수 없으며 따라서 정의된 변수에 대해 거짓 긍정 경고가 발생하지만 어설션에서 읽기/쓰기. 변수별 만족스러운 솔루션이 나올 때까지 gcc 및 clang에 대해 수행하는 것과 같은 억제를 사용하면 경고를 비활성화합니다. 토론:스포츠 토토 베트맨://postgr.es/m/CAJcOf-c+KniGAp31pn8TC=9a-WHXpkX-3+8-2BkaCsZchhu=8w@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/e7122548a3f754060db1767582148b3559fe8d43
개인키 통계 검사 오류 처리를 확장합니다. 통계 작업이 켜져 있는 경우 개인 키가 실패했습니다. 코드에서는 ENOENT로 인한 것이라고 가정했습니다. 사실이 아닐 수도 있습니다. 다른 오류 메시지를 인쇄하여 검사를 연장하세요. 더 쉬운 디버깅을 위한 비 ENOENT 오류. Tom Lane의 제안에 따라 빌드팜에 있는 요정새 동물과 관련된 문제입니다. 토론:스포츠 토토 베트맨://postgr.es/m/1632478.1638305700@sss.pgh.pa.us 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/538724fc36e05339ea3734f1b886a67398fce71a
댓글에서 TimeLineID 업데이트에 대한 언급을 삭제하세요. 커밋 4a92a1c3d가 제거됨 RecoveryInProgress의 TimeLineID 업데이트에 따라 주석을 업데이트하세요. 저자 : 아물 술sulamul@gmail.com토론:스포츠 토토 베트맨://postgr.es/m/CAAJ_b96wyzs8N45jc-kYd-bTE02hRWQieLZRpsUtNbhap7_PuQ@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/018b800245c5d4db30d204fa42fada05a64eb287
perl2host를 사용하도록 인증서 경로를 수정하세요. 커밋 c113d8ad50이 복사를 이동했습니다. 대신 테스트 기간 동안 임시 경로에 인증서를 저장합니다. 소스 트리를 사용합니다. 이로 인해 절대 경로인 msys에 대한 테스트가 중단되었습니다. msys 플랫폼에 적합하지 않았습니다. 다음을 사용하여 경로를 변환하십시오. 연결 문자열을 복사하여 전달하기 전에 perl2host. 그곳에 있는 동안 또한 모든 테스트에서 인증서 복사 오류 처리를 균일하게 만듭니다. 스위트. 토론:스포츠 토토 베트맨://postgr.es/m/YacT3tm97xziSUFw@paquier.xyz 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/c3b34a0ff4a00d00d6ea364c85201e155ca7ef6b
Windows의 연결 문자열에서 경로 구분자를 수정합니다. 임시 경로 커밋 c113d8ad5에서 생성된 내용은 연결 문자열에 있는 그대로 전달될 수 없습니다. Windows에서는 백슬래시를 구분하는 경로가 이스케이프 처리되므로 문자. 유사한 경로 사용 사례에서와 같이 백슬래시를 슬래시로 변환하여 수정합니다. 다른 테스트에서는. 보고자: Andres Freundandres@anarazel.de토론:스포츠 토토 베트맨://postgr.es/m/20211202195130.e7pprpsx4ell22sp@alap3.anarazel.de 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/49422ad0cc88c91a38522b2a7b222c2f2c939f82
Doc: CRL 매개변수의 잘못된 표현을 수정했습니다. ssl_crl_file 및 ssl_crl_dir 둘 다 서버 인증서가 아닌 클라이언트 인증서 해지에 사용됩니다. 매개변수에 대한 설명은 반대의 의미로 쉽게 오해될 수 있습니다. 그러나 이 수정으로 이어지는 버그 보고서에서 알 수 있듯이. 마찬가지로, sslcrl 및 sslcrldir을 확장하여 서버 인증서를 명시적으로 언급합니다. 이전에는 sslcrl만 논의했던 sslcrldir도 언급되어 있습니다. v10으로 백패치하고 CRL 디렉토리를 14로 수정합니다. 소개되었습니다. 저자 : 호리구치 쿄타로horikyota.ntt@gmail.com검토자: 피터 아이젠트라우트peter.eisentraut@enterprisedb.com토론:스포츠 토토 베트맨://postgr.es/m/20211202.135441.590555657708629486.horikyota.ntt@gmail.com토론:스포츠 토토 베트맨://postgr.es/m/CABWY_HCBUCjY1EJHrEGePGEaSZ5b29apgTohCyygtsqe_ySYng@mail.gmail.com백패치 쓰루: 10스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/fadac33bb8de1cb9005aed07cdd059ba1fa9c6f8
Álvaro Herrera가 푸시됨:
Tomáš Vondra가 밀었습니다:
핫 업데이트를 확인할 때 BRIN 인덱스를 무시하세요. 여부를 결정할 때 HOT를 사용하면 인덱스 업데이트를 건너뛸 수 있으며 인덱스된 속성을 무시할 수 있습니다. BRIN 지수로만 가능합니다. 개별 튜플에 대한 인덱스 포인터가 없습니다. BRIN 및 페이지 범위 요약은 다음에 따라 업데이트됩니다. 가시성 정보. 이는 또한 rd_indexattr 목록을 제거하고 다음으로 대체합니다. rd_attrsvalid 플래그. 목록은 어디에도 사용되지 않았으며 간단한 플래그는 다음과 같습니다. 충분하다. Josef Simanek의 패치, 제가 작성한 다양한 수정 및 개선 사항. 저자: Josef Simanek 검토자: Tomas Vondra, Alvaro Herrera 토론:스포츠 토토 베트맨://postgr.es/m/CAFp7QwpMRGcDAQumN7onN9HjrJ3u4X3ZRXdGFT0K5G2JWvnbWg%40mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/5753d4ee320b3f6fb2ff734667a1ce1d9d8615a1
btree_gist 문서에 bool을 추가합니다. 커밋 57e3c516에 bool opclass를 추가했습니다. btree_gist이지만 이 변경 사항을 반영하도록 문서의 데이터 유형 목록을 업데이트합니다. 보고자: Pavel Luzanov 토론:스포츠 토토 베트맨://postgr.es/m/CAE2gYzyDKJBZngssR84VGZEN=Ux=V9FV23QfPgo+7-yYnKKg4g@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/4c6145b514fa62535f8a5029283de3a54d9cfd53
BRIN HOT 동작 테스트를 stats.sql로 이동하세요. 5753d4ee32가 추가한 테스트 통계 수집기에 의존하므로 UDP가 연결될 때 가끔 실패할 수 있습니다. 패킷이 손실됩니다. 일부 기계는 이에 취약할 수 있습니다. 로드할 때 등. 이미 이 항목이 있는 것으로 알려진 stats.sql로 테스트를 이동합니다. 문제가 발생하면 사람들은 이를 무시하는 것을 알고 있습니다. 보고자: Justin Pryzby 토론:스포츠 토토 베트맨://postgr.es/m/CAFp7QwpMRGcDAQumN7onN9HjrJ3u4X3ZRXdGFT0K5G2JWvnbWg%40mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/fe60b67250a31cd1ac2a4882f12e199e30abd316
피터 아이젠트라우트가 밀었습니다:
doc: 참조 작업을 사용해야 하는 경우에 대한 추가 정보입니다.스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/5786fe154b53caef8b226ed863312d3608b32a51
확장 프로그램에 예약된 접두어가 포함된 존재하지 않는 설정 SET에 대한 경고입니다. 확장은 이미 다음을 사용하여 사실상 GUC 접두사를 예약할 수 있습니다. EmitWarningsOnPlaceholders(). 하지만 이는 다음과 같은 설정에 대해서만 확인되었습니다. 확장이 로드될 때 존재합니다(또는 확장이 호출을 선택함). 이). 나중에 SET 명령이 존재하지 않는 명령을 사용하는 경우 진단이 제공되지 않습니다. 사용자 정의 접두사를 사용하여 설정합니다. 이번 변경으로 EmitWarningsOnPlaceholders()는 예약한 접두사를 목록에 저장하고 SET는 접두사를 찾으면 확인합니다. 예약된 접두사에 속하는지 여부를 설정하고 이 경우 경고합니다. 다음을 사용하여 패치를 확인하는 회귀 테스트를 추가합니다. "plpgsql" 등록된 접두사. 저자: 플로린 이리온florin.irion@enterprisedb.com토론:/message-id/Flat/CA+HEvJDhWuuTpGTJT9Tgbdzm4QS4EzPAwDBScWK18H2Q=FVJFw@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/75d22069e00d638d08c04e3aba71688f3fb002ed
스캐너 파일의 일부 설명을 개선하세요. 검토자: John Naylorjohn.naylor@enterprisedb.com토론:/message-id/Flat/b239564c-cad0-b23e-c57e-166d883cb97d@enterprisedb.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/fb7f70112fd80f13a8f124f51c4992fe290d3836
사용하지 않은 포함을 제거합니다. 이것은 오랫동안 필요하지 않았습니다. 검토자: John Naylorjohn.naylor@enterprisedb.com토론:/message-id/Flat/b239564c-cad0-b23e-c57e-166d883cb97d@enterprisedb.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/89d1c15d64602b0c27ed87c717f586ddf6cf310d
pg_dump: 누락된 relkind 사례를 추가합니다. RELKIND_MATVIEW 확인을 잊어버렸습니다. 추측ConstraintInheritance()에서. 이것은 실제 문제가 아닙니다. relkind가 부모를 가질 수 있는 flagInhTables()를 확인하고 해당 항목을 확인했습니다. 그 후에는 numParents==0이 됩니다. 그러나 토론 후에는 다음과 같은 느낌이 들었습니다. 이 위치는 flagInhTables() 및 flagInhAttrs()와 일관성을 유지해야 합니다. 검토자: Michael Paquiermichael@paquier.xyz토론:/message-id/Flat/a574c8f1-9c84-93ad-a9e5-65233d6fc00f@enterprisedb.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/a22d6a2cb62c4fc6d7c4b077d8014fd4ffaec426
일부 RELKIND 매크로 리팩토링. 일부 RELKIND_*를 그룹화하려면 더 많은 매크로를 추가하세요. 매크로: - RELKIND_HAS_PARTITIONS() - RELKIND_HAS_TABLESPACE() - RELKIND_HAS_TABLE_AM() 검토자: Michael Paquiermichael@paquier.xyz검토자: Alvaro Herreraalvherre@alvh.no-ip.org토론:/message-id/Flat/a574c8f1-9c84-93ad-a9e5-65233d6fc00f%40enterprisedb.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/37b2764593c073ca61c2baebd7d85666e553928b
PG_GETARG_UINT32()의 부적절한 사용을 수정하세요. 사용된 chr() 함수 인수가 (부호 있는) 정수로 선언되었음에도 불구하고 PG_GETARG_UINT32()입니다. 결과적으로 이 함수에 음수 인수를 전달할 수 있으며 내부적으로는 이를 긍정적으로 해석합니다. 결국 무해하게 끝나지만 하지만 잘못된 것 같으니 이를 수정하고 내부 오류를 확인하여 재정렬하세요. 이것을 수용하기 위해 조금. 또 다른 사례는 문서에 있었습니다. 코드에서는 부호 있는 정수로 선언된 인수와 함께 PG_GETARG_UINT32()를 사용했습니다. 검토자: Nathan Bossartbossartn@amazon.com토론:/message-id/Flat/7e43869b-d412-8f81-30a3-809783edc9a3%40enterprisedb.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/e9e63b7022ddd0aaaae7cd439daa234cf9e6a21c
눈덩이 업데이트. Snowball 태그 v2.2.0으로 업데이트됩니다. 사소한 변경만 가능합니다.스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/bba962f0c052bfab79df79ac5629eac5eab5b842
pgcrypto: 테스트에서 명시적인 16진수 인코딩/디코딩을 제거합니다. 이것은에서 온 것입니다 bytea에서 16진수 형식을 사용할 수 있기 전에는 말이죠. 이제 추가 항목을 제거할 수 있습니다. 명시적인 인코딩/디코딩 호출을 수행하며 기본 출력 형식을 사용합니다. 토론:/message-id/Flat/17dcb4f7-7ac1-e2b6-d5f7-2dfba06cd9ee%40enterprisedb.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/814e1d9ff7a853b16a544a244bfa92e8388be248
pgrowlocks: 잘못된 형식 자리 표시자를 수정합니다. 거래 ID는 다음과 같아야 합니다. xidout()과 유사하게 부호 없는 것으로 인쇄됩니다.스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/254c63e9eda0b006fb61b9dc23970a6381efd061
외래 키 ON DELETE SET 작업에 대한 열 목록 지정을 허용합니다. 확장 외래 키 ON DELETE 작업은 SET NULL 및 SET DEFAULT를 허용하여 CREATE TABLE 게시물( ... FOREIGN KEY (tenant_id,author_id) REFERENCES 사용자 ON DELETE SET NULL (저자_ID) ); 컬럼 목록을 지정하면 해당 컬럼만 설정됩니다. 외래 키 제약 조건의 모든 열 대신 null/기본값으로 설정됩니다. 이는 테넌트 또는 샤드가 있는 다중 테넌트 또는 샤드 스키마에 유용합니다. ID는 모든 테이블의 기본 키에 포함되지만 null로 설정되어서는 안 됩니다. 저자: 폴 마르티네즈paulmtz@google.com토론:/message-id/Flat/CACqFVBZQyMYJV=njbSMxf+rbDHpx=W=B7AEaMKn8dWn9OZJY7w@mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/d6f96ed94e73052f99a2e545ed17a8b2fdc1fb8a
pg_checksums: 데이터 유형을 수정합니다. 세그먼트 번호는 BlockNumber가 아닌 int여야 합니다. (buffile.c도 참조하세요). 해를 끼치지는 않을 것 같지만 일관성이 더 좋습니다.스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/bf9a55c10729988a3c7ffbe14108e29d90283939
범용 64비트 정수 구문 분석 API를 단순화합니다. pg_strtouint64()는 strtoull/strtoul/_strtoui64 주위의 래퍼이지만 더 이상 필요하지 않은 것 같습니다. 이 간접적인 의미를 가지게 됩니다. msvc/Solution.pm은 HAVE_STRTOULL을 요구하므로 "MSVC only" 부분은 불필요한 것 같습니다. 또한 c.h에 대체할 코드가 있습니다. 찾을 수 없는 경우 strtoull()에 대한 대안이 있으며 이는 모든 것을 포함하는 것으로 보입니다. 현재 지원되는 플랫폼이므로 추가 대체 기능이 있습니다. pg_strtouint64()는 불필요한 것 같습니다. 그러므로 우리는 제거할 수 있었습니다 pg_strtouint64(), 모든 호출 사이트에서 직접 strtoull()을 사용합니다. 그러나 그것은 정확히 64비트 정수를 구문 분석하기 위해 별도의 표기법을 유지하는 것이 유용해 보입니다. 유형 정의 int64/uint64와 일치합니다. 이를 위해 새 매크로를 추가하세요. strtol()/strtoul() 주위의 얇은 래퍼로 c.h의 strtoi64() 및 strtou64() 또는 strtoll()/stroull(). 이렇게 하면 이러한 기능을 어디에서나 사용할 수 있습니다. 서버 코드에서만 발생하며 함수 이름이 눈에 띄게 달라집니다. 다른 API를 가지고 있는 numutils.c의 pg_strtointNN() 함수에서. 논의:/message-id/Flat/a3df47c9-b1b4-29f2-7e91-427baf8b75a3%40enterprisedb.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/3c6f8c011f85df7b35c32f4ccaac5c86c9064a4a
로버트 하스가 밀었습니다:
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
앤드류 던스턴이 밀었습니다:
SSL 테스트에서 Perl 불만 사항을 침묵시킵니다. Perl의 hex() 함수는 다음과 같은 경우 불평합니다. 인수에 후행 공백(또는 실제로 16진수 이외의 다른 공백)이 포함되어 있습니다. 숫자)이므로 문제가 되는 텍스트를 삭제하세요.스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/d4596a20d046e800644d6027613c6a2cb5a6c35e
MSVC 빌드에 대한 TAP 테스트에 사용되는 설정을 활성화합니다. 특정 설정의 구성 또는 Makefile 인프라는 TAP 테스트에서 사용되지만 vcregress.pl에 의해 설정되지 않았습니다. 이는 이러한 누락을 해결합니다. 이 특히 빌드팜에서 테스트 범위를 늘려야 합니다. 노아가 검토함 미쉬 토론:스포츠 토토 베트맨://postgr.es/m/17093da5-e40d-8335-d53a-2bd803fc38b0@dunslane.net모든 라이브 브랜치로 백패치합니다.스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/edc2332550b2343bc9378540e11c8aa71f513a63
사용하기 전에 작동하는 tar가 있는지 확인하세요. 다음에 의해 노출된 문제 edc2332550 및 빌드팜을 커밋합니다. 이 사용법이 있는 릴리스 14로 백패치 시작했습니다.스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/f920f7e799c587228227ec94356c760e3f3d5f2b
"사용하기 전에 작동하는 tar가 있는지 확인하세요"를 되돌립니다. 이 커밋 f920f7e799c587228227ec94356c760e3f3d5f2b를 되돌립니다. 패치 적용중 우리가 갖지 못한 문제를 해결하고 대신 다른 문제를 일으켰습니다. 백패치 원래 토론과 같은 릴리스 14:스포츠 토토 베트맨://postgr.es/m/3655283.1638977975@sss.pgh.pa.us 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/745b99c6444f00befae77dc69c7a63529d751daf
토마스 먼로가 밀었습니다:
Windows에서 STATUS_DELETE_PENDING을 확인하세요. 1. open() 래퍼를 다음으로 업데이트합니다. NT의 STATUS_DELETE_PENDING을 확인하고 이를 Unix와 유사한 오류로 변환하십시오. 이는 동적으로 로드되는 RtlGetLastNtStatus()를 사용하여 수행됩니다. ntdll.ntdll. 새로운 파일 win32ntdll.c는 NT 기능의 조회를 중앙 집중화합니다. 앞으로 더 추가하기로 결정합니다. 2. 시도 중이던 작동하지 않는 코드를 제거합니다. stat()에 대해 비슷한 작업을 수행하고 open() 래퍼 코드를 재사용하면 됩니다. 부작용으로 stat()은 "공유 위반"에 대한 탄력성을 얻습니다. 오류. 3. stat()은 프로세스 시작 초기에 사용되므로 Win32 신호 이벤트가 이전에 생성되어야 한다는 요구 사항 pgwin32_open_handle()에 도달했습니다. 대신에 pg_usleep()에게 다음으로 돌아가도록 가르치십시오. 신호 이벤트를 사용할 수 있기 전에 도달하면 중단 불가능한 절전 모드가 됩니다. 백패칭이 가능하지만 지금은 마스터에만 있습니다. 문제는 분명히 오랫동안 우리와 함께 있었고 몇 가지 불만만 제기했습니다. 제안된 패치는 이 문제를 더 자주 유발하므로 이번 조사와 수정. 검토자: Andres Freundandres@anarazel.de검토자: 알렉산더 라킨exclusion@gmail.com검토자: Juan José Santamaría Flechajuanjo.santamaria@gmail.com토론:스포츠 토토 베트맨://postgr.es/m/CA%2BhUKGJz_pZTF9mckn6XgSv69%2BjGwdgLkxZ6b3NWGLBCVjqUZA%40mail.gmail.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/e2f0f8ed251d02c1eda79e1ca3cb3db2681e7a86
ProcSendSignal()을 pgprocno를 사용하도록 변경하세요. 대상을 언급하는 대신 pid로 백엔드를 사용하려면 pgprocno를 사용하세요. 즉, 스캔할 필요가 없습니다. ProcArray를 사용하면 시작을 처리하기 위한 특수 사례 코드를 삭제할 수 있습니다. 프로세스. 토론:스포츠 토토 베트맨://postgr.es/m/CA%2BhUKGLYRyDaneEwz5Uya_OgFLMx5BgJfkQSD%3Dq9HmwsfRRb-w%40mail.gmail.com검토자: Soumyadeep Chakrabortysoumyadeep2007@gmail.com검토자: Ashwin Agrawalashwinstar@gmail.com검토자: Andres Freundandres@anarazel.de 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/a13db0e16404ae532fe037071c7fe2576a1f8890
Alexander Korotkov가 밀었습니다:
Andres Freund가 밀었습니다:
PG_TEST_USE_UNIX_SOCKETS가 Windows의 탭 테스트에 작동하도록 만드세요. 우리는 소켓 디렉토리를 넣을 때 Windows 스타일 \ 경로 구분 기호를 /로 바꾸십시오. postgresql.conf 또는 libpq 연결 문자열에 있습니다. 그렇지 않으면 탈출로 해석됩니다. 저자: 안드레스 프로인드andres@anarazel.de검토자: Peter Eisentrautpeter.eisentraut@enterprisedb.com토론:스포츠 토토 베트맨://postgr.es/m/4da250a5-4222-1522-f14d-8a72bcf7e38e@enterprisedb.com 스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/45f52709d86ceaaf282a440f6311c51fc526340b
isolationtester: 세션 이름을 application_name에 추가합니다. 글을 쓸 때 / 격리 테스트를 디버깅할 때 어떤 세션이 유지되는지 확인하는 것이 유용할 때가 있습니다. 어떤 잠금 장치 등을 더 쉽게 만들려면 사양 파일의 일부로 대화형으로 세션 이름을 application_name에 추가합니다. b1907d688 이후 application_name에는 이미 테스트 이름이 포함되어 있으며 이는 세션의 이름을 추가합니다. 그 이름. 삽입 충돌 사양 충돌은 수동으로 이와 같은 작업을 수행했습니다. 이제 제거할 수 있습니다. 최근 다른 테스트에서도 그랬듯이 인프라를 개선하고 이 변경 사항을 백패치하여 백패치 테스트. 저자: 안드레스 프로인드andres@anarazel.de검토자: 마이클 파퀴에르michael@paquier.xyz검토자: Andrew Dunstanandrew@dunslane.net토론:스포츠 토토 베트맨://postgr.es/m/20211211012052.2blmzcmxnxqawd2z@alap3.anarazel.de백패치: 10-, 테스트 백패치를 더 쉽게 만듭니다.스포츠 토토 베트맨://git.postgresql.org/pg/commitdiff/3f323956128ff8589ce4d3a14e8b950837831803