PGPOOL-II 4.2.5, 연결 풀러 및 명령문 복제 시스템 배트맨 토토,릴리스
Database Lab 2.5, 대형 배트맨 토토 데이터베이스의 빠른 복제 도구 비 생산 환경 구축릴리스.
pgexporter 0.1.0, 배트맨 토토의 프로 메테우스 수출국,릴리스
https : //archives.배트맨 토토.org/pgsql-jobs/2021-09/
Planet 배트맨 토토 :https : //planet.배트맨 토토.org/
배트맨 토토 주간 뉴스는 이번 주 David Fetter에 의해 제공됩니다
일요일 오후 3시에 뉴스 및 공지 사항을 pst8pdt로 david@fetter.org..
Michaël Paquier 추진 :
리팩터 옵션에 비트 마스크를 사용하는 Syslogger 파이프 프로토콜을 리팩터합니다. 그만큼 이전 프로토콜은 일치하는 문자 세트가 메시지가 있는지 확인할 것으로 예상했습니다. 전송 된 것은 마지막이든 아니든 목적지에 따라 변경되었습니다. 구함 : - 't'와 'f'는 stderr로 전송 된 로그의 마지막 메시지를 추적했습니다. - 't' 그리고 'F'는 CSVLOG로 전송 된 로그의 마지막 메시지를 추적했습니다. 이것은 될 수 있습니다 새로운 목적지를 소개 할 때 더 많은 캐릭터로 확장되었지만 비트 마스크는 훨씬 더 우아합니다. 이 커밋은 프로토콜을 a로 변경합니다 비트 마스크는 syslogger로 전송 된 로그 청크 메시지의 헤더에 사용됩니다. 현재 다음과 같은 옵션을 사용할 수 있습니다. -STDERR로 LOG_DESTINATION. - csvlog로 log_destination. - 메시지가 메시지의 마지막 덩어리 인 경우. Sehrope는 JSON이 옵션으로 소개하도록 설정된 패치 배트맨 토토이 문제를 발견했습니다. log_destination이지만 그의 패치는 프로토콜 헤더의 크기를 더 크게 만들었습니다. 이 커밋은 원본과 동일한 크기를 유지하고 프로토콜을 원해. 토론에 대해 Andrew Dunstan과 Greg Stark에게도 감사드립니다. 저자 : Michael Paquier, Sehrope Sarkuni 토론 :https : //postgr.es/m/cah7t-aqswbm6jwe4pdehi1uoiufqe06djwau5=x7ddlyquexhg@mail.gmail.com https : //git.배트맨 토토.org/pg/commitdiff/2d77d835403a20b51e17e59f0343ddc17f431eec
로깅 수집기와 함께 CSVLOG에 대한 회귀 테스트 추가. 이것들이 추가됩니다 이미 STDERR을 테스트 한 로그 회전에 대한 PG_CTL의 기존 테스트. CSVLOG에 대해 동일한 양의 적용 범위가 추가됩니다 .- 확인 pg_current_logfile (). - 예상 파일 이름으로 로그 회전. - 로그 내용 생성. 이 테스트는 필요한 작업의 양을 최소화하기 위해 리팩토링됩니다. 새로운 로그 형식에 대한 테스트를 추가하여 다가오는 작업을 완화하십시오. 저자 : 마이클 Paquier, Sehrope Sarkuni 토론 :https : //postgr.es/m/cah7t-aqswbm6jwe4pdehi1uoiufqe06djwau5=x7ddlyquexhg@mail.gmail.com https : //git.배트맨 토토.org/pg/commitdiff/72b76f761c78dd1be42592c4e5b980beef5f26
ECPG 연결 로직배트맨 토토 OOM의 스레드로 오류 처리를 수정합니다. an 저장 구조를 할당 할 때 발생하는 메모리 외 실패 연결 매개 변수 키워드 및 값은 실패하면 PTHREAD MUTEX가 여전히 유지됩니다. 새 연결 객체는 나열되어 있지만 free () d. 잠금 해제보다는 정적 연결 목록을 일관성없는 상태로 남겨 두는 MUTEX 상태, 연결 매개 변수의 구조에 대한 할당을 이동 테스트 조작을 시작하기 전에. 이것은 목록을 보장합니다 연결 및 연결 Mutx는 항상 일관성을 유지합니다. 코드 경로. 이 오류가 발생하지는 않지만 이로 인해 엉망이 될 수 있습니다. ECPG 클라이언트와 함께 놀라운 방법으로 나쁜 방법으로 배대를 내려 놓으십시오. 보고서 : Ryancaicse 토론 :https : //postgr.es/m/17186-b4cfd8f0eb4d1dee@배트맨 토토.orgBackpatch-Strough : 9.6https : //git.배트맨 토토.org/pg/commitdiff/fa703b317e9d261ffd34bbf5651ea29aff3ff0f0
복제 슬롯이있는 권한 점검에 대한 코드 복제 제거. 둘 check_permissions ()라는 이름의 함수는 동일한 점검을 사용하여 사용자는 복제 슬롯 작업을 수행하기 위해 권한이 필요했습니다. 이 커밋은 제거됩니다 복제 및 검사를 수행하는 기능을 Slot.c로 이동합니다. 중앙 집중식. 저자 : Bharath Rupireddy Reviewed-by : Nathan Bossart, Euler Taveira 토론 :https : //postgr.es/m/calj2acuppvw1u7sqocfvwrss0n10pt_g_4npzksxk6cw1derw@mail.gmail.com https : //git.배트맨 토토.org/pg/commitdiff/026ed8efd6b1d774924937baf3209b676df4531f
지원되는 리소스 유형에 대한 리소스 소유자에 대한 README 업데이트. 모든 지원되는 유형은 readme에 직접 나열되었지만 매우 구식입니다. 이 커밋은 readme배트맨 토토 지원되는 모든 유형을 나열하는 대신 이 정보를 얻으려면 resowner.c의 ResourceOwnerData를 보는 참조. 단락의 순서는 명확성을 위해 약간 재 작업됩니다. 저자 : Amit Langote 토론 :https : //postgr.es/m/ca+hiwqhtft9z=4h5+f7doy0oynhaavwurcakt9b2t2uadoaiag@mail.gmail.com https : //git.배트맨 토토.org/pg/commitdiff/cae6fc2bc27cdb072693076249ce688f048ca7b7
런타임 컴퓨팅 GUCS를 사용한 "Postgres -C"지원. 지금까지 -C 옵션
런타임에 계산 된 GUCS의 작은 서브 세트가
초기화 된 결과 GUC 기계가
이러한 매개 변수의 기본값. 예를 들어, data_checksums는보고 할 수 있습니다
컨트롤 파일이 아직로드되지 않았기 때문에 클러스터의 "OFF". 또는
wal_segment_size
-wal-segsize는 다른 것을 사용했습니다. 더 나쁜 것은 명령이 제대로 실패하지 않을 것입니다
최근에 소개 된 shared_memory를보고하여로드해야합니다
shared_preload_libraries 이들은 공유 메모리 덩어리를 요구할 수 있습니다.
런타임 지원 GUCS 지원은 작동이 이제 제한이 있습니다.
실행중인 서버배트맨 토토 허용됩니다. 이것에 대한 주목할만한 이유 중 하나는_pg_init
()
로드 가능한 라이브러리의 기능은 모든 런타임 계산 GUC 전에 호출됩니다.
초기화되며, 이는 실행 중에 안전한 것이 보장되지 않습니다.
서버. shared_memory_size의 경우, 우리가 얼마나 알고 싶은지
메모리를 할당하지 않고 메모리가 사용되면이 제한은 괜찮습니다. 또 다른
이것이 도움이 될 사례는 거대한 페이지를위한 것이며
서버에 필요한 거대한 페이지의 양을 평가하기 위해 다른 GUC
시작하기 전에 큰 기억 덩어리를 할당하지 않고. 이것
기능은 새로운 GUC 플래그로 제어되며 4 개의 매개 변수가 분류됩니다.
이 변경대로 런타임 컴퓨팅 : -Data_checksums- shared_memory_size-
data_directory_mode -wal_segment_size 일부 탭 테스트가 추가됩니다.
PG_CHECKSUMS 테스트배트맨 토토 DATA_CHECKSUMS를 사용하여 여기에 일부 적용 범위. 당
Andres Freund, Justin Pryzby, Magnus Hagander 등과의 토론.
저자 : Nathan Bossart 토론 :https : //postgr.es/m/f2772387-ce0f-46bf-b5f1-cc55516eb885@amazon.com
https : //git.배트맨 토토.org/pg/commitdiff/0c39c292077ef3ba987ced0dc6ea1c8f4f1e1f4b
MSYS의 Postgres -C에 대한 테스트 비활성화. MSYS배트맨 토토 생성 된 출력은 다음과 같습니다
다른 방식으로 인해 잘못된 IPC :: 실행 프로세스 출력이 네이티브와 출력을 실행합니다.
perl (기본적으로 \ r \ n으로 변환)과 msys perl (\ r \ n as-is),
이 테스트는 실패합니다. 지금은 Test를 비활성화하여 BuildFarm을
그린 스테이트. 올바른 장기 솔루션은 모든 것을 조정하는 것입니다.
루틴command_checks_*
postgresnode.pm 배트맨 토토이 출력을 처리하려면
PSQL은 MSYS를 사용할 때, 비교하기 전에 자동으로 \ r을 폐기하여 수행합니다.
Jacana와 Fairywren의 보고서 당. 핑에 대한 Tom Lane에게 감사합니다.
논의:https : //postgr.es/m/1252480.1631829409@sss.pgh.pa.us
https : //git.배트맨 토토.org/pg/commitdiff/5adb06732d7fac8171609392ea83f18bc8f285f4
WAL 세그먼트를 닫을 때 PG_RECEIVEWAL의 일부 오류를 명확히하십시오. WAL 세그먼트 PG_RECEIVEWAL의 WAL 스트림 중에 닫히면 잘못된 오류가 발생합니다. 컨텍스트에 따라 메시지를 참조 할 때 사용되는 파일 이름으로 메시지 WAL 세그먼트는 부분 파일 또는 사용 된 압축 방법을 무시했습니다. 그런 식으로 사례, 오류 메시지가 생성됩니다 (닫기, 찾기 또는 이름 바꾸기) 물리적 파일 이름과 일치하지 않습니다. 동일한 코드 경로가 사용됩니다 pg_basebackup이지만 부분 접미사를 사용하지 않으므로 영향을받지 않습니다. 7FBE0C8 Walmethods.c배트맨 토토 정확한 물리적 파일 이름을 얻기위한 콜백에 소개되었습니다. 주어진 컨텍스트에 사용되는이 커밋은 해당 오류를 개선하기 위해 사용합니다. 메시지. 이것은 pg_basebackup/의 더 많은 코드 경로로 확장 될 수 있습니다. 필요한 경우 미래. 같은 저자가 더 큰 패치배트맨 토토 추출했습니다. 저자 : Georgios Kokolatos 토론 :https : //postgr.es/m/zcm1j5vfyq2e6dyvxz8si39hq2gwxsz3ipyavgya3 luwy88slapx9eenof5uewrddhx2twg7zykjveup5mwzxcnpybtsgoudsad1o2l_i5e=@pm.me https : //git.배트맨 토토.org/pg/commitdiff/cddcf7842c31b4d07ca75439f6b4ddacaadbbd0d
PG_RECEIVEWAL의 일부 점검 논리를 향상시킵니다. 다음과 같은 것들이 개선되었습니다.
Amit Kapila 추진 :
DOC : 구독 생성배트맨 토토 선택한 매개 변수 그룹화를 변경합니다. 그만큼 가입 매개 변수는 두 그룹으로 재 배열됩니다. a) 제어하는 것 구독 생성 중에 발생하는 일 b) 복제를 제어하는 사람들 동작으로 구독 생성 문서가 더 쉽게 따르다. 저자 : Peter Smith Reviewed-by : Amit Kapila 토론 :https : //postgr.es/m/cahut+ptpjdsoxtumgpo2ydrrpkxcygl4n7hqjp9hernze=cj+g@mail.gmail.com https : //git.배트맨 토토.org/pg/commitdiff/fee1040fe330bd17054fc7e4296e9cde203ed0f
토스트 변경에 대한 재주문 버퍼 메모리 수정. 토스트를 처리하는 동안 논리적 디코딩의 변화, 우리는 튜플 변화를 온 메모리 토스트 튜플 대신 온 디스크 토스트 튜플에. 그리고 확인하기 위해 메모리 회계가 정확합니다. 우리는 이전 변경 크기를 빼고 새 튜플을 다시 컴퓨팅 한 후에는 크기를 다시 개선합니다. 이제 거기에 있다면 새로운 크기를 추가하기 전에 오류가 발생하면 변경 사항을 공개합니다. 회계 정보를 업데이트합니다 (카운터배트맨 토토 크기를 빼). 그리고 우리는 그곳배트맨 토토 언더 퍼져 있었기 때문에 주장에 대한 주장 실패로 이어집니다. 다시 주문 버퍼로 빌드 및 잘못된 메모리 계정을 사용합니다. 저자 : Bertrand Drouvot Reviewed-by : Amit Kapila Backpatch-Strough : 13 메모리 회계가 소개되었습니다. 토론 :https : //postgr.es/m/92b0ee65-b8bd-e42d-c082-4f3f4bf12d34@amazon.com https : //git.배트맨 토토.org/pg/commitdiff/df3640e5293dccbf964508babfc067282ea7a2fc
Tom Lane 추진 :
PLPGSQL배트맨 토토 가장 바깥 쪽 블록배트맨 토토 종료를 수정하십시오. 일반적 으로이 방법으로 종료를 사용합니다 "제어가 반환없이 기능 끝에 도달했습니다"를 그릴 것입니다. 그러나 만약 기능은 명시 적 반환이 필요하지 않은 곳입니다 (예 : 블록), 그것은 일어나지 않아야합니다. 어쨌든 add_dummy_return ()이기 때문에 사건을 설명하는 것을 무시했습니다. Herwig Goemans의 보고서 당. 지원되는 모든 지점에 대한 백 패치. 논의:https : //postgr.es/m/868ae948-e3ca-c7ec-95a6-83cfc08ef750@gmail.com https : //git.배트맨 토토.org/pg/commitdiff/1bf2518dd67be58b207979a66db7bb7c9b93a62
DOC : 구독 생성/변경 문서 개선. 개선 일부 옵션에 대한 설명. 조잡한 문법과 마크 업을 수정하십시오. 피터 스미스와 톰 레인 토론 :https : //postgr.es/m/cahut+ptpjdsoxtumgpo2ydrrpkxcygl4n7hqjp9hernze=cj+g@mail.gmail.com https : //git.배트맨 토토.org/pg/commitdiff/1882d6cca161dcf9fa05ecab5abeb1a027a5cfd2
pqConnectDB ()의 성공적인 완료시 Conn- errormessage를 지우십시오. 커밋 FFA2E4670 및 52A10224E는 LIBPQ의 연결 설립 기능을 일으켰습니다 일반적으로 연결의 errormessage 버퍼에 비어 있지 않은 문자열을 남겨 두십시오. 성공적인 연결 후. 그것은 의도적이지만 더 냉정한 반사는 좋은 생각이 아니라고 말합니다. 혼란 스럽습니다. 또한 이것은 확인한 적어도 하나의 응용 프로그램을 중단했습니다. pqstatus ()를 사용하는 대신 errormessage를 검사하여 연결 성공 문서화 된대로. 성공 출구시 버퍼를 지우고 V14 이전의 복원 행동. 논의:https : //postgr.es/m/4170264.1620321747@sss.pgh.pa.us https : //git.배트맨 토토.org/pg/commitdiff/138531f1bbc333745bd8422371c07e7e108d5528
대체 ubplan의 여러 사본으로 플래너 오류를 수정하십시오. 가능합니다 우리가 대안 문도 표현 노드를 여러 곳에 복사 할 수 있습니다. 예를 들어 여러 파티션 어린이의 스캔 쿼리. 그렇다면 가능합니다 우리는 각 장소배트맨 토토 최적의 대안 중 하나를 선택합니다. Commit 41EFB8340이 시나리오를 고려하지 못하므로 제거 시도 "사용하지 않은"하위 계획은 여전히 다른 곳배트맨 토토 사용 된 하위 계획을 제거 할 수 있습니다. 고치다 모든 AlternativeSubplans를 검사 할 때까지 제거 로직을 지연시켜 주어진 쿼리 레벨배트맨 토토. (이것은 대안 소문이 할 수 없었다고 가정합니다 다른 쿼리 수준에 복사하십시오. 그러나 가까운 미래에는 괜찮습니다. CF Qual_is_pushdown_safe.) Rajkumar Raghuwanshi의 보고서 당. 백 패치 결함이있는 논리가 들어온 v14에. 토론 :https : //postgr.es/m/cakcux6=o3nzc3bz2prryv3cjm3_zw1gfzmojevqyn4jub2+q@mail.gmail.com https : //git.배트맨 토토.org/pg/commitdiff/e8638d78a2cb94efba11a5dfbf3e7cd746d0af3e
CommitTransaction 동안 알림 신호를 보냅니다. 이전에는 신호를 보냈습니다 나가는 것은 ProcessCompleTedNotifies 내배트맨 토토 메시지를 알립니다 해당 메시지의 관련 메시지를 연결된 연결에 담당합니다. 고객. 따라서 발생하는 메인 루프 처리 중에 실행해야했습니다. 유휴하기 직전에. 이 배열에는 두 가지 큰 단점이있었습니다. * 지금 이 절차로 인해 명령 내 커밋이 가능하면 보내는 것이 유용합니다. Commit배트맨 토토 즉시 다른 세션을 알 수 있습니다 (그러나 이유 때문에 Wire-Protocol 안정성, 우리는 여전히 고객에게 전달해서는 안됩니다. 명령 끝). * 복제 작업자와 같은 배경 프로세스는 그렇지 않습니다 클라이언트 커뮤니케이션 루프를 실행하지 않기 때문에 Notifys를 전혀 보내십시오. 복제 작업자가 실행하는 트리거가 보낼 수 있도록 요청했습니다. 알림이므로 문제가됩니다. 이러한 것들을 고치려면 전송을 움직입니다 나가는 신호는 ATCOMMIT_NOTIFY로 신호를 알리고 커밋 변환. 또한 Asyncqueueadvancetail의 가능한 호출을 여기에 이동하십시오. 배경 작업자가 많은 것을 보내면 비동기 Slru를 부풀리지 않도록합니다. 아무도 듣지 않고 알 수 있습니다. 우리는 또한 전화를 삭제할 수 있습니다 Asyncqueuereadallnotifications, ProcessCompletEdeTeD가 사라질 수 있습니다 전적으로. Commit 790026972가 전화를 추가했기 때문입니다 postgresmain의 호출에 인접한 ProcessNotifyInterrupt ProcessCompletEdEdifies는 자체 호출을합니다 Asyncqueuereadallnotifications, 우리는 두 가지를 쓸모 없게하고 있음을 의미합니다 인바운드 신호에 알릴 때마다 (두 개의 별도 트랜잭션 내부) 호출 아웃 바운드 알림과 일치합니다. 우리는 notifyinterruppending으로만 설정하면됩니다 ProcessNotifyInterrupr이 실행되도록하십시오. 기존 문서는 맞춤형 배경 작업자가 전화해야한다고 제안합니다 ProcessCompleTedEdife 메시지를 보내려면 알려줍니다. 피하기 위해 뒷사각배트맨 토토 ABI가 끊어지면서 빈 루틴으로 줄이십시오. 완전히 제거합니다. 제거는 v15배트맨 토토 발생합니다. 문제가 있지만 위배트맨 토토 언급 한 잠시 동안 존재했는데 편안하지 않습니다. v13보다 더 이상 배치됩니다. 약간의 휘젓기가있었습니다 12배트맨 토토 13 사이의 인접 코드. 최소한 Backpatch도해야합니다. 51004C717, 그리고 많은 다른 조정도 필요할 것입니다. 위험 대 위험 비율은 매력적으로 보이지 않습니다. Michael의 버그 #15293 당 힘 (및 다른 사람의 유사한 그립). Artur Zakirov와 Tom Lane 논의:https : //postgr.es/m/1532434414499.1404.227411628506175596@wrigleys.배트맨 토토.org https : //git.배트맨 토토.org/pg/commitdiff/2e4eae87d02fef51c42c2028b65d85b9e051f9eb
pg_import_system_collations ()배트맨 토토 로그 메시지를 향상시킵니다. PG_IMPORT_SYSTEM_COLLATIONS ()는보고 된 방법에 대해 약간 일치하지 않았습니다 PG_COLLATION 항목을 만들지 않은 로케일 ( "LOCALE -A") 을 위한. IMV 우리는 우리가하는 모든 로케일에 적합한 메시지를 인쇄해야합니다. 기존 PG_COLLATION 항목과 일치하는 경우를 제외하고는 거부합니다. (이것은 그러나 Initdb 동안 노이즈를 생성하지 않도록 Debug1 Log 레벨배트맨 토토 모두.) 이전에 기록되지 않은 두 경우, 즉 메시지 추가 인식되지 않은 인코딩 및 클라이언트 전용 인코딩. 기존 메시지를 다시 단어하십시오 일관된 스타일을 갖기 위해. Anton Voloshin과 Tom Lane 토론 :https : //postgr.es/m/429d64e-188d-3ce1-106a-53a8b45c4fce@postgrespro.ru https : //git.배트맨 토토.org/pg/commitdiff/69e31d05b0a33f55aa5d9540917540f5fccb93a7
배경 노동자배트맨 토토 듣지 못하게하십시오. 사용자 정의를 실행할 수 있습니다 일부 배경 프로세스의 SQL; 예를 들어, 논리적 복제 작업자는 할 수 있습니다 방화 트리거. 이것은 누군가가 실행하려고 할 가능성을 열어줍니다. 그러한 맥락배트맨 토토 들어보세요. 그러나 정기적 인 백엔드만이 전화를했기 때문에 ProcessNotifyInterrupt배트맨 토토는 실제로 메시지가 수신되지 않으므로 등록 된 청취자는 단순히 메시지 대기열이 청소되는 것을 방지합니다. 결국 통보는 작동을 멈출 것입니다. 아마도 언젠가 누군가 실제로 배경 작업자의 듣기를 위해 인프라를 발명 할 것입니다. 유용한. 그 동안 금지하십시오. V13으로 백 패치. 우리가있는 곳입니다 MyBackendType 변수를 소개했습니다. 구현하기가 훨씬 더 어려울 것입니다 그것없이 확인하면 문제가되지 않는 것 같습니다. 논의:https : //postgr.es/m/1532434414499.1404.227411628506175596@wrigleys.배트맨 토토.org https : //git.배트맨 토토.org/pg/commitdiff/1316BE28664F1834AC0911321753710131BDF3
rangetable 크기에 대한 임의의 64K 또는 So-SO 제한을 제거하십시오. 지금까지 a의 크기 Query의 Rangetable은 상수 inner_var et al에 의해 제한되었습니다. 실제 rangetable 인덱스와 같지 않아야합니다. 의심 할 여지없이 65000은 보였다 누구나 충분하고 여전히 수보다 큰 순서입니다. 우리는 현실적으로 처리 할 수 있습니다. 그러나 우리는 rangetable 항목이 필요합니다 각 어린이 파티션은 쿼리에 의해 처리 된 것입니다. 쿼리 수천 개의 파티션이 더욱 현실화되고 있으므로 날이 그 한계는 아직 여기에 있지 않더라도 문제가됩니다. 따라서, 한계를 높이자. inner_var et AL,이 패치는 작은 음수 값을 만드는 접근 방식을 채택합니다. 그 범위는 이론적으로 int_max만큼 길게 될 수 있습니다. 대량 패치는 Var.Varno 및 일부 관련 변수를 변경하는 것과 관련이 있습니다. "index"(부호없는 int)는 "int"를 평범하게합니다. 이것은 기본적으로 화장품입니다 디버거가 가치를 잘 인쇄하는 데 도움이되는 것 외에는 실제 효과가 거의 없습니다. 따라서 나는 실제로 볼 수있는 변화하는 장소 만 귀찮았습니다. 파서와 대부분의 플래너는 그렇지 않은 Inner_var et al. 우리는 가지고 있습니다 덜/더 큰 비교를 수행하는 장소배트맨 토토 조심하기 위해 varnos, 그러나 IS_SPECIAL_VARNO 이외의 장소는 거의 없습니다. 매크로 자체. 이 패치의 주목할만한 부작용은 inner_var et al을 비트 맵 세트에 추가 할 수 있으므로 이제 오류가 발생합니다. 나는이 가짜를 포함시키는 버그가 아닐 가능성이 없다. 진짜 바르노의 비트 맵 세트에 바르노는 이것이 전부라고 생각합니다. 이것은 Outfuncs/readfuncs에 닿지 만, 나는 Catversion 범프가 저장된 규칙에는이 가짜 바르노와 VAR이 포함되지 않기 때문에 필수. Peter Eisentraut의 제안 후 Andrey Lepikhov와 Tom Lane 논의:https : //postgr.es/m/43c7f2f5-1e27-27aa-8c65-c91859d15190@postgrespro.ru https : //git.배트맨 토토.org/pg/commitdiff/e3ec3c3c00d85bd2844ffddee83df2bd67c4f8297f
검색 폭을 처리하도록 설명하십시오. 재 작성자 검색 폭을위한 변환 너비는 먼저 Var배트맨 토토 필드 선거를 생성합니다. VAR은 재귀 연합의 작업 테이블 출력을 참조하는 레코드를 입력하십시오. 이 사건을 처리하지 못한 장점을 설명합니다. CTESCANS에 나타나지 않습니다. 이를 수정하고 테스트 사례를 추가하십시오 운동은 검색 및 사이클 쿼리에 대해 설명합니다. 원칙적 으로이 감독 오래된 버그이지만 검색 없이는 케이스가 도달 할 수없는 것 같습니다. 먼저, 그러한 수동으로 참조. 그래서 오늘은 패치 헤드/v14입니다. 언젠가 우리는 할 수 있습니다 이 패치의 코드 부분이 더 뒤로 패치되어야한다는 것을 확인하십시오. Atsushi Torikoshi의 보고서 당. 논의:https : //postgr.es/m/5bafa66ad529e11860339565c9e7c166@oss.nttdata.com https : //git.배트맨 토토.org/pg/commitdiff/3f50b82639637c9908afa2087de758450aa866b
Pull_varnos를 수정하여 번역 된 위장기에 대처하십시오. 55DC86ECA 커밋 PULL_VARNOS를 사용하도록 변경했습니다 (가능하면) 관련 pH_eval_at 자리 표시 자. 그래도 나는 좋은 점을 놓쳤다 : 우리는 phv를보고 있을지도 몰라 아동 부록의 quals 또는 tlist,이 경우 우리는 다음을 계산해야합니다. phv 자체와 같은 방식으로 번역 된 ph_eval_at 값 (Cf. Adjub.Appendrel_attrs). 다행히도 충분한 정보를 사용할 수 있습니다 위장대배트맨 토토 그러한 번역을 추가없이 가능하게하기 위해 외부 데이터이므로 Planner API의 또 다른 추첨 라운드가 필요하지 않습니다. 이것은 조금 복잡하지만, 히트가 어려운 코너이기 때문에 나는 여기에주기를 추가하는 것에 대해별로 걱정하지 않습니다. Jaime의 보고서 당 카사노바. 이전 커밋과 마찬가지로 V12로 백 패치. 논의:https : //postgr.es/m/20210915230959.gb17635@ahch-to https : //git.배트맨 토토.org/pg/commitdiff/a21049fd3f64518c8a7227cf07c56f2543241db2
DOC : 오타 수정. "PGCON"은 "PGCONN"이어야합니다. D. Frey가 언급했습니다. 논의:https : //postgr.es/m/163191739352.4680.16994248583642672629@wrigleys.배트맨 토토.org https : //git.배트맨 토토.org/pg/commitdiff/d5eeb51bc053d75f647136026de522d6ee3bf725
Andres Freund Prush :
JIT : LLVM 트리거 오류의 경우 LLVM 상태를 종료하려고하지 마십시오. 만약에 LLVM 내배트맨 토토 실패한 할당은 LLVM으로 LLVM으로 다시 호출하는 것이 안전하지 않습니다. 일반적으로 예외 / 스택 불합등에 대해 안전하지 않습니다. 따라서 오류가 발생합니다 LLVM 코드는 치명적으로 홍보됩니다. 그러나 llvm_shutdown ()이 다시 전화를 걸었습니다 LLVM 이런 경우에도 LLVM_RELEASE_CONTEXT ()는하지 않도록주의했습니다. 그래서. 우리는 일반적으로 프로파일 링을 끊을 수 있으므로 LLVM을 종료하는 것을 건너 뛸 수 없습니다. 그러나 LLVM 내배트맨 토토 오류가 있으면 그렇게해도 괜찮습니다. 보고서 : Jelte Fennemajelte.fennema@microsoft.com저자 : Andres Freundandres@anarazel.de저자 : Justin Pryzbypryzby@telsasoft.com토론 :https : //postgr.es/m/am5pr83mb0178c52cca0a8dea0207dc14f7ff9@am5pr83mb0178.eurprd83.prod.outlook.com itBackpatch : 11-, Jit가 소개 된 곳https : //git.배트맨 토토.org/pg/commitdiff/edb4d95ddf8984ad5b24d964d4584977d2fde4b
프로세스 시작 : 단일 사용자 모드배트맨 토토 PGSTARTTIME 초기화를 초기화합니다. an 다가오는 패치는 Postgresmain ()배트맨 토토 처리하는 단일 사용자 모드를 분할합니다. 그만큼 시작 시간은 단일 사용자 모드배트맨 토토만 결정하면됩니다. 현재 초기화는 늦게 발생하여 분할이 조금 더 어려워집니다. 우체국 장으로 일찍 시간을 결정합니다. 단일 사용자의 시간을 이동하는 것이 합리적입니다. 대략 비슷한 시점으로 모드. 검토 : Kyotaro Horiguchihorikyota.ntt@gmail.com저자 : Andres Freundandres@anarazel.de토론 :https : //postgr.es/m/20210802164124.ufo5buo4apl6yuvs@alap3.anarazel.de https : //git.배트맨 토토.org/pg/commitdiff/2c7615f77b8d84130d304365aa2235eea7b5949c
세션 통계배트맨 토토 성능 회귀를 수정합니다. 세션 통계 960869DA08에 의해 도입 된 몇 가지 단점이 있습니다. - 추가 데이터의 정확성을 손상시킨 getCurrentTimestamp () 호출 수집 한 현재 타임 스탬프를 전달하여 피할 수 있습니다. pgstat_report_stat ()에 있습니다. - 추가 통계 UDP 패킷이 전송되었습니다 500ms마다 새로운 통계를 추가하여 해결됩니다. pgstat_msgtabstat. 세션 통계가 있기 때문에 이것은 개념적으로 추악합니다 테이블 통계가 아닙니다. 그러나 구조물에는 이미 관련된 데이터가 포함되어 있습니다 테이블이므로 손상이 많지 않습니다. 연결 및 단절이 있습니다 별도의 메시지로보고되어 추가 수가 줄어 듭니다. 세션 당 두 메시지로 메시지와 약간의 증가 PGSTAT_MSGTABSTAT 크기 (그러나 동일한 수의 테이블 통계에 맞음). - 세션 시간 계산은 길이가 32 비트 인 시스템배트맨 토토 오버플로 흐를 수 있습니다. 보고서 : Andres Freundandres@anarazel.de저자 : Andres Freundandres@anarazel.de저자 : Laurenz Albelaurenz.albe@cybertec.at토론 :https : //postgr.es/m/20210801205501.nyxzxoelqoo4x2qc%40alap3.anarazel.de백파치 : 14- 기능이 소개 된 곳.https : //git.배트맨 토토.org/pg/commitdiff/37a9aa659111c454386b7055dcd3809e45bc17de
프로세스 시작 : exec_backend에 관계없이 동시에 initProcess ()를 수행하십시오. 다가오는 패치는 단일 사용자 모드를 자체 기능으로 분할합니다. 이것은 만듭니다 더 쉽습니다. 더 쉬운 검토 / 테스트를 위해 분리됩니다. 검토 : Kyotaro horiguchihorikyota.ntt@gmail.com저자 : Andres Freundandres@anarazel.de토론 :https : //postgr.es/m/20210802164124.ufo5buo4apl6yuvs@alap3.anarazel.de https : //git.배트맨 토토.org/pg/commitdiff/3d7c752a2f092b9f6581497009eacd10cab90548
프로세스 시작 : postgresmain ()배트맨 토토 단일 사용자 코드를 분할합니다. 더 어려웠습니다 postgresmain ()을 이해하는 것보다 정상에 대한 코드 때문에 백엔드는 단일 사용자 모드 특정 코드와 함께 산재했습니다. 대부분의 분할 단일 사용자 모드 코드는 자체 함수 PostgressingleUsermain ()으로 단일 사용자 모드에 필요한 모든 설정을 수행 한 다음 다음 후 Postgresmain ()에게. 여전히 단일 사용자 모드 코드가 있습니다 initpostgres (), 그리고 적어도 일부를 옮길 가치가있을 것입니다. 하지만 그것은 나중에입니다. 검토 : Kyotaro HoriguchiHorikyota.ntt@gmail.com저자 : Andres Freundandres@anarazel.de토론 :https : //postgr.es/m/20210802164124.ufo5buo4apl6yuvs@alap3.anarazel.de https : //git.배트맨 토토.org/pg/commitdiff/7c83a3bf51489e5b48c567c2ac54fed030d23c52
Peter Eisentraut 추진 :
t_expr을 제거합니다. 이것은 노드 태그가 없어야하는 추상 노드입니다. 한정된. 검토 : Jacob Championpchampion@vmware.com토론 :/message-id/c091e5cd-45f8-69ee-6a9b-186912cc7e7@enterprisedb.com https : //git.배트맨 토토.org/pg/commitdiff/8539929197324d5c9f634a9a9d6d8591bfe7520
COPY_ARRAY_FIELD 및 COMPANE_ARRAY_FIELD를 추가합니다. 이 손잡이 노드 필드는이를 처리합니다 인라인 배열입니다 (동적으로 할당 된 배열이 포함됩니다. Copy_Pointer_field 및 Compare_Pointer_field). 이 경우는 손으로 코딩되었습니다 지금까지. 검토 : Jacob Championpchampion@vmware.com토론 :/message-id/c091e5cd-45f8-69ee-6a9b-1e86912cc7e7@enterprisedb.com https : //git.배트맨 토토.org/pg/commitdiff/308da179e7c2c41c146e23a1418f6419aee340af
write_index_array를 추가합니다. 우리는 몇 가지가 있습니다write_ 유형의 이름 _array
매크로
인덱스 유형을 사용하는 한 가지 사례는 손으로 코딩되었습니다. 매크로로 감싸십시오
잘. 이것은 또한 동작을 약간 변경합니다. 이전에 필드 이름은
길이가 0이면 건너 뜁니다. 이제 그 안배트맨 토토도 필드 이름을 인쇄합니다
사례. 이것은 다른 배열 필드가 처리되는 방식과 더 일치합니다.
검토 : Jacob Championpchampion@vmware.com토론 :/message-id/c091e5cd-45f8-69ee-6a9b-186912cc7e7@enterprisedb.com
https : //git.배트맨 토토.org/pg/commitdiff/bdeb2c4ec2700bfa561061ccd19181326ee01c3f
유니 코드 데이터 업데이트 14.0.0.https : //git.배트맨 토토.org/pg/commitdiff/f7e56f1f540fbef204a03094b97ddfe908c44070
잘못된 형식 자리 표시자를 수정합니다. 또한 왜 그 이유에 대한 쓸모없는 의견을 제거하십시오 64 비트 정수는 별도의 버퍼로 인쇄되어야합니다. 예전 이유 이식성이지만 이제 남은 이유는 우리가 문자열이 필요하기 때문입니다. 진행 상황이 표시됩니다. 코드를 보면 분명합니다 바로 아래에 새로운 댓글이 필요하지 않은 것 같습니다.https : //git.배트맨 토토.org/pg/commitdiff/e03b807e12bbb72d53ed53502dfb2c1e063e467c
Hash_Array를 수정하십시오. A3D2B1BBE904B0CA8D9FDDE20F25295FF3E21F79를 소홀히하십시오 합성 된 유형 캐시 항목의 type_id 필드를 초기화하므로 모든 통화마다 새 것을 만드십시오. 또한 기능 당 메모리를 더 잘 사용하십시오 이것에 대한 맥락; 그렇지 않으면 메모리가 새어 나옵니다. 논의:/message-id/flat/17158-8a2ba823982537a4%40배트맨 토토.org https : //git.배트맨 토토.org/pg/commitdiff/851ff9335742d22a3cb1a5ab789208e4e01dcef
노드 출력 접두사 일치 노드 구조 이름을 만듭니다. 대부분의 경우, 접두사 노드 출력의 문자열은 노드 구조 이름의 대문자입니다 (예 : Mergeappend- mergeappend. 몇 가지 예외가있었습니다 명백한 이유 또는 아마도 사소한 미학적 이유가 이것으로부터 벗어났다. ~ 안에 이것을 단순화하고 아마도 자동 생성을 허용하지 않고 예외 사례를 다루려면 모두 일치하게하십시오. 논의:/message-id/c091e5cd-45f8-69ee-6a9b-186912cc7e7@enterprisedb.com https : //git.배트맨 토토.org/pg/commitdiff/e58136069687B9CF29C29C27281E227AC397D72141D
추기경을 추가합니다. 비용 및 선택성과 유사하게 이것은 단지 a입니다 Double은 경로 및 계획 노드배트맨 토토 사용하여 필드의 의미. 논의:/message-id/c091e5cd-45f8-69ee-6a9b-186912cc7e7@enterprisedb.com https : //git.배트맨 토토.org/pg/commitdiff/6fe0eb963d3894ae9b0b6e15108387b664d45a3
메시지 스타일 개선.https : //git.배트맨 토토.org/pg/commitdiff/4ac0f450b698442c3273ddfe8eed0e1a7e56645f
Daniel Gustafsson이 추진했습니다 :
Fujii Masao 추진 :
procarray.c배트맨 토토 size_t 대신 int를 사용하십시오. 모든 size_t 변수가 선언되었습니다 Procarray.c는 실제로 int입니다. 그것들을 위해 size_t 대신 int를 사용합시다 변수. WSIGN-Compare 컴파일러 경고를 줄입니다. 백 패치 Commit 941697C3C1이 Coverarray.c에 Size_t 변수를 추가하여 V14 이 패치는 리팩토링으로 만 분류되지만 미래의 역 전용 쉬운 쉬운. 보고서 : Ranier Vilela 저자 : Ranier Vilela, Aleksander Alekseevhttps : //postgr.es/m/caeudqaqyotzc670xwi6w-oe2_bk1bfu2jzxz6xrfiouzm7xbyq@mail.gmail.com https : //git.배트맨 토토.org/pg/commitdiff/64a62ebeeb84af2a51b963a1737f804a0fed4246
procarray.c배트맨 토토 변수 섀도 잉을 수정하십시오. procarraygroupclearxid 함수는 a "Proc"라는 매개 변수이지만 동일한 이름이 로컬 변수에 사용되었습니다. 이 커밋은 코드 가독성을 향상시키기 위해이 변수 섀도 잉을 수정합니다. 미래의 백 패칭을 쉽게하기 위해 모든 지원되는 버전으로 백 패치 이 패치는 리팩토링으로 만 분류됩니다. 보고서 : Ranier Vilela 저자 : Ranier Vilela, Aleksander Alekseevhttps : //postgr.es/m/caeudqaqyotzc670xwi6w-oe2_bk1bfu2jzxz6xrfiouzmbyq@mail.gmail.com https : //git.배트맨 토토.org/pg/commitdiff/dc899146dbf0e1d23fb2415a5155826ddce34c9
Peter Geoghegan 추진 :