Postgre스포츠 토토 베트맨 주간 뉴스 - 2021년 11월 21일

게시일2021-11-23작성: PWN
PWN

Postgre스포츠 토토 베트맨 주간 뉴스 - 2021년 11월 21일

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

Postgre스포츠 토토 베트맨 제품 뉴스

PGroonga 2.3.4 모든 언어에 대한 전문 검색 플랫폼,해제.

Pgpool-II 4.2.6, 4.1.9, 4.0.16, 3.7.21 및 3.6.28, 연결 풀러 및 명령문 복제 시스템 포스트그레스포츠 토토 베트맨,다시 l s ed.

Oracle 데이터베이스를 Postgre스포츠 토토 베트맨로 마이그레이션하기 위한 도구인 Ora2Pg 23.0이 출시되었습니다.https://github.com/darold/ora2pg/blob/master/changelog

Azure의 관리형 Postgre스포츠 토토 베트맨 데이터베이스인 BigAnimal,해제.

pgAdmin4 6.2, Postgre스포츠 토토 베트맨용 웹 및 기본 GUI 제어 센터,해제.

11월 Postgre스포츠 토토 베트맨 작업

https://archives.postgre스포츠 토토 베트맨.org/pg스포츠 토토 베트맨-jobs/2021-11/

뉴스의 Postgre스포츠 토토 베트맨

플래닛 Postgre스포츠 토토 베트맨:https://planet.postgre스포츠 토토 베트맨.org/

Postgre스포츠 토토 베트맨 주간 뉴스는 David Fetter가 이번 주에 전해 드립니다.

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

적용된 패치

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

Amit Kapila가 푸시됨:

Álvaro Herrera가 푸시됨:

Michaël Paquier가 푸시됨:

  • xlog.c에서 전역 변수 "LastRec"를 제거하세요. 이 변수는 다음에서만 사용됩니다. 이제 StartupXLOG()를 로컬로 만들어 코드를 단순화해 보겠습니다. 작가: 아물 설 검토자: Tom Lane, Michael Paquier 토론:https://postgr.es/m/CAAJ_b96Qd023itERBRN9Z7P2saNDT3CYvGuMO8RXwndVNN6z7g@mail.gmail.com https://git.postgresql.org/pg/commitdiff/f975fc3a3542005ed0dd689bdb5bd9ed4e1f4d52

  • pg_upgrade의 바이너리 호환성 검사를 위한 회귀 테스트에 테이블을 추가합니다. 이 커밋은 기본 회귀 테스트 스위트에 모든 항목이 포함된 테이블을 추가합니다. 내부 데이터 유형(일부 예외가 적용됨) 이 테이블은 삭제되지 않습니다. pg_upgrade는 유형의 바이너리 호환성을 확인할 수 있습니다. 테이블에서 추적됩니다. 새로운 유형이 코어에 추가되면 이 부분의 테스트가 수행됩니다. 새로 고침이 필요하지만 그렇게 하면 테스트가 실패하도록 설계되었습니다. 일어난다. 이는 업그레이드에 유용하고 객체에 의존하기 때문입니다. 업그레이드된 이전 버전의 회귀 테스트 스위트에서 생성되었습니다. 12까지의 백패치가 완료되었습니다. 이는 바이너리가 실행되는 마지막 지점입니다. 호환되지 않는 변경이 수행되었습니다(7c15cef). 이것으로 충분할 것으로 예상됩니다 새 버전을 개발하는 동안 문제가 발생하는지 확인하세요. Postgres에서는 pg_upgrade 자체에서 조치를 취할 수 있으므로 대소문자(예: 스포츠 토토 베트맨_identifier의 경우 0ccfc28). 아직 다루지 않은 영역은 자체 유형을 생성할 수 있는 외부 모듈과 관련됩니다. 테스트 pg_upgrade의 인프라는 아직 외부 모듈과 통합되지 않았습니다. 코어(src/test/modules/ 또는 contrib/)에 저장되며 모두 동일한 데이터베이스 이름을 사용합니다. 테스트를 위해 겹치는 부분이 있을 수 있습니다.) 이는 다음에서 개선될 수 있습니다. 미래. 저자: Justin Pryzby 검토자: Jacob Champion, Peter Eisentraut, Tom Lane, Michael Paquier 토론:https://postgr.es/m/20201206180248.GI24052@telsasoft.com백패치 통과: 12https://git.postgre스포츠 토토 베트맨.org/pg/commitdiff/835bcba8b8d72a00cecc5431b67e70bbea93f947

  • 업그레이드 바이너리 호환성 검사를 위해 테이블에서 ACL 항목 인용 문제를 수정했습니다. 당 역할 이름으로 회귀 테스트를 실행하는 buildfarm 멤버 프리온 하이픈을 사용합니다. 835bcba에서 발생한 문제입니다. 논의:https://postgr.es/m/YZW4MvzCZ+hQ34vw@paquier.xyz백패치 쓰루: 12https://git.postgre스포츠 토토 베트맨.org/pg/commitdiff/ac1c7458b17633d1e53a01393d12774c10cb6a91

  • 변환, 도메인 및 시퀀스에 대한 p스포츠 토토 베트맨 탭 완성을 개선합니다. 는 다음과 같은 개선이 이루어졌습니다: - CREATE에 대한 일부 탭 완성 기능 추가 도메인. - CREATE TRANSFORM에 대한 일부 탭 완성 기능이 추가되었습니다. - 추가 CREATE SEQUENCE AS에 대한 유형 완성입니다. 저자 : Ken Kato 검토자 : Kyotaro Horiguchi, Michael Paquier 토론:https://postgr.es/m/8d370135aef066659eef8e8fbfa6315b@oss.nttdata.com https://git.postgre스포츠 토토 베트맨.org/pg/commitdiff/0cd6d3b3c5aeac81903aa7de92e406f8567898a2

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

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

톰 레인이 밀렸습니다:

  • INSERT/SELECT에서 SQL 표준 함수의 인수 표시 문제를 수정했습니다. 만약 SQL 표준 함수 본문에는 INSERT ... SELECT 문이 포함되어 있습니다. SELECT 내에서 참조되는 함수 매개변수는 항상 $N으로 인쇄되었습니다. 매개변수 이름이 있는 경우 이를 사용하는 대신 스타일을 사용합니다. 엄밀히는 아니지만 틀렸습니다. 이것은 의도한 것이 아니며, 그 방식과도 일치하지 않습니다. 그러한 매개변수는 다른 종류의 명령문으로 인쇄됩니다. 원인은 get_insert_query_def에서 get_query_def로의 재귀가 무시되었습니다. context-namespaces 목록을 전달하고 대신 상수 NIL을 전달합니다. 이것은 매우 오래된 감독이지만 AFAICT 이전에는 눈에 띄는 결과가 없었습니다. commit e717a9a18은 함수 매개변수가 있는 가장 바깥쪽 네임스페이스를 추가했습니다. 우리 최상위 WITH를 제외하고 INSERT ... SELECT를 하위 쿼리로 허용하지 마세요. 절에 필요한 외부 참조를 포함할 수 없습니다. 상위 네임스페이스에 액세스합니다. 그래서 버그인 것 같지만 전혀 보이지 않습니다. v14 이전에 변경하는 것이 좋습니다. 통과하면서 추가된 코드를 강화합니다. PARAM_EXTERN 매개변수가 있는 경우 충돌이 발생하지 않도록 e717a9a18의 get_parameter 예상치 못한 곳에서 나타난다. Erki Eessaar의 보고서에 따르면. 코드 수정 나, Masahiko Sawada의 회귀 테스트 케이스. 토론:https://postgr.es/m/AM9PR01MB8268347BED344848555167FAFE949@AM9PR01MB8268.eurprd01.prod.exchangelabs.com https://git.postgre스포츠 토토 베트맨.org/pg/commitdiff/a8d8445a7b2f80f6d0bfe97b19f90bd2cbef8759

  • pg_dump 및 pg_basebackup에서 close() 실패를 더욱 강력하게 처리합니다. 커버리티 우리가 한 번에서 했던 것처럼 실패한 gzclose 후에 get_gz_error를 적용한다고 불평했습니다. pg_basebackup에 배치하면 안전하지 않습니다. 나는 그것이 맞다고 생각한다: 그것은 전적으로 가능성이 있다 호출이 해제된 메모리에 닿고 있다는 것을 의미합니다. 우리가 하는 것처럼 errno를 검사하도록 변경하세요. 다른 gzclose 호출의 경우. 또한 errno를 0으로 초기화하도록 주의하세요. 오류 상태를 고려하는 gzclose() 호출 직전. (우리가 이미 실패했기 때문에 우리가 하지 않는 호출도 있습니다. 이전 단계.) 이렇게 하면 오해의 소지가 있는 관련성이 없는 결과를 얻지 못하게 됩니다. errno를 설정하지 않은 방식으로 gzclose()가 실패하는 경우 오류 코드입니다. 우리는 일할 수 있었다 그게 더 어려운데, 제가 보기에는 그런 경우는 모두 기본적으로 zlib을 오용하지 않으면 일어날 수 없는 일이므로 추가 비용을 들일 가치가 없습니다. 필요한 표기법. 또한 단순히 여러 곳을 수정하십시오. 종료 시간 오류를 전혀 확인하지 못했습니다. 대부분 일부에서 제거되었습니다. 자체를 닫거나 gzclose; 확인은 했지만 귀찮게 하지 않은 곳도 있어요 오류를 보고하세요. v12로 백패치합니다. 이러한 실수는 그보다 오래되었지만 v12에서 발생한 프런트엔드 로깅 API 변경 사항과 사실 사이 해당 프런트엔드 코드는 그 전에는 %m에 의존할 수 없습니다. 패치에는 다음이 필요합니다. 이전 지점에서 작동하도록 상당한 개정이 이루어졌습니다. 별로 가치가 없어 보여요 관련 현장 불만사항이 부족하여 발생한 문제입니다. 내가 패치했습니다. 감사합니다 검토를 위해 Michael Paquier에게 보내드립니다. 논의:https://postgr.es/m/1343113.1636489231@sss.pgh.pa.us https://git.postgre스포츠 토토 베트맨.org/pg/commitdiff/3cac2c8caaefc642332e6994ce80032cc7d4cfdf

  • pg_basebackup의 walmethods.c에서 오류 처리를 정리합니다. 오류 처리 근본적으로 잘못된 디자인으로 인해 여기가 엉망이 되었습니다(errno에 의존함). 가정하는 것이 안전한 것보다 훨씬 오랫동안 그 가치를 유지하기 위해) 뿐만 아니라 많은 오류를 전혀 인지하지 못하고 오류를 보고하는 데 있어서의 명백한 엉성함 올바른 오류입니다. 게다가 최근 LZ4 압축이 추가되면서 문제가 발생했습니다. liblz4는 오류를 보고하기 위해 errno를 사용하지 않기 때문입니다. 개선하기 위해 중요한 것은 DirectoryMethodData 또는 TarMethodData에서 오류 상태를 유지하는 것입니다. struct를 만들고 errno를 설정하지 않은 경우를 처리할 수 있도록 문자열 필드를 추가합니다. (tar 메소드에는 이미 이 버전이 있지만 더 많은 작업을 수행할 수 있습니다. 이러한 모든 경우에는 일정한 오류 문자열을 사용하므로 효율적입니다.) tar 메소드는 기본적으로 동일한 방식으로 오류를 처리합니다. 전에. 이를 위해서는 errno를 여러 위치의 상태 구조체에 복사해야 합니다. 조금 지루하지만 임시방편을 없앨 수 있다는 장점이 있습니다. 여러 위치에 errno를 저장하고 복원하는 코드는 말할 것도 없습니다. 오류 번호를 저장/복원해야 했지만 무시한 다른 장소를 수정합니다. 전달하면서 일부 무의미한 정적 버퍼를 일반 로컬로 수정합니다. 변수. 오류를 정확히 처리하는 방법에 대한 문제가 남아 있습니다. fsync()이지만 그것은 자체 패치의 자료처럼 보입니다. LZ4는 문제는 새로운 문제이고 나머지는 모두 오래된 버그에 대한 수정 사항이므로 walmethods.c가 도입된 v10입니다. 내가 패치했습니다. 마이클 파퀴어(Michael Paquier)에게 감사드립니다 검토를 위해. 논의:https://postgr.es/m/1343113.1636489231@sss.pgh.pa.us https://git.postgre스포츠 토토 베트맨.org/pg/commitdiff/248c3a937dd018a72095f407cff727c9f08db0c1

  • starts_with()에 대한 플래너 지원 기능을 추가합니다. 이는 약간의 공백을 메워줍니다. start_with() 및 동등한 ^@ 연산자에 대한 플래너 지원: * A "textcol ^@ 상수"와 같은 조건은 이제 일반 btree 인덱스를 사용할 수 있습니다. 인덱스의 데이터 정렬이 C인 한 SP-GiST 인덱스만 가능합니다. (이것은 작동합니다. "textcol LIKE 'foo%'"와 같습니다.) * "starts_with(textcol, Constant)"는 다음과 같습니다. "textcol ^@ 상수"와 동일하게 최적화되었습니다. * 고정 접두사 LIKE 및 정규식 패턴은 이제 다른 면에서 start_with()와 더 유사합니다. SPGiST 인덱스 열의 경우에는 대신 ^@를 사용하여 인덱스 조건을 얻습니다. = 및 <가 포함된 두 개의 인덱스 조건. Shay Rojansky의 불만 사항에 따라. 내가 패치했습니다. 검토해 주신 Nathan Bossart에게 감사드립니다. 토론:https://postgr.es/m/232599.1633800229@sss.pgh.pa.us https://git.postgre스포츠 토토 베트맨.org/pg/commitdiff/a148f8bc04b9980f019ea0d4b89311cf0bdc22b7

  • ^C에 의해 중단될 수 있는 simple_prompt()의 변형을 제공하세요. 지금까지, control-C를 입력해도 psql의 \password 명령에서 벗어날 수 없습니다(또는 SIGINT의 다른 지역 철자법). 이는 사용자 친화적이지 않으므로 개선하세요. 그것. 그렇게 하려면 pg_get_line.c에서 제공하는 함수를 수정해야 합니다. 하지만 우리는 psql의 SIGINT 핸들러 설정을 엉망으로 만들고 싶지 않으므로 다음과 같은 API를 제공하십시오. 해당 핸들러가 취소를 발생시키도록 합니다. 이는 가정에 의존합니다. fgets()에서 longjmp를 실행하여 큰 피해를 입히지 않을 것입니다. 그러는 동안 분명히 약간 불안정합니다. 우리는 오랫동안 기본 입력에서 동일한 가정을 해왔습니다. 루프가 발생했으며 몇 가지 문제가 보고되었습니다. psql에는 다른 simple_prompt()가 있습니다. 같은 방식으로 유용하게 개선될 수 있는 호출; 지금은 그냥 처리해 \password. Nathan Bossart, 제가 약간 수정함 토론:https://postgr.es/m/747443.1635536754@sss.pgh.pa.us https://git.postgre스포츠 토토 베트맨.org/pg/commitdiff/5f1148224bd78bcf3bf7d916b8fe85dd820c52c6

  • 비트코드를 컴파일할 때 적절한 -Wno-warning 스위치를 사용하십시오. 우리는 "clang"을 사용합니다 LLVM 인라인을 위한 비트코드 파일을 컴파일합니다. 그거랑은 다를 수도 있겠네요 빌드의 기본 C 컴파일러이므로 자체 컴파일러 플래그 세트가 필요합니다. 받는 사람 구성을 단순화하면 해당 플래그 세트에 -W 스위치를 추가하지 않아도 됩니다. 메인 빌드에서 경고를 표시하므로 거의 필요하지 않습니다. 그러나, 원치 않는 경고를 보고 싶지 않은 경우에도 경고를 추가해야 합니다. -일반적으로 clang과 함께 사용하는 경고 없음 스위치입니다. 이 탈출 통지 추가하려고 시도한 9ff47ea41 커밋 전에 -Wno-compound-token-split-by-macro; 일치하지 않는 CC를 사용하여 동물을 키우고 CLANG은 여전히 이러한 경고를 표시했습니다. 왜 우리가 어떤 효과도 본 적이 없는지 잘 모르겠습니다. -Wno-unused-command-line-argument가 없기 때문입니다(어쩌면 그게 유일한 것일 수도 있습니다). -Wall?에 의해 활성화됨). clang은 현재 -Wno-format-truncation을 지원하지 않습니다. 또는 -Wno-stringop-truncation(미래 보장을 위해) 일관성에 대한 테스트를 포함했습니다. 우리가 시작한 v11로 백패치 비트코드 파일을 만드는 중입니다. 토론:https://postgr.es/m/2921539.1637254619@sss.pgh.pa.us https://git.postgre스포츠 토토 베트맨.org/pg/commitdiff/276517a96484f9e39a7a1095ab39fa76ef1ee8cc

  • psql의 다른 simple_prompt() 사용이 ^C에 의해 중단되도록 허용합니다. 이것은 채워집니다 5f1148224가 완료하지 못한 채 남겨둔 작업에서. \prompt는 지금 취소할 수 있습니다. \connect 중에 비밀번호 프롬프트가 표시될 수도 있습니다. (우리는 할 필요가 없습니다 아직 시작하는 동안 비밀번호 프롬프트가 표시되지 않기 때문에 아무 것도 표시되지 않습니다. 그 시점에서 SIGINT를 트래핑합니다.) Nathan Bossart 토론:https://postgr.es/m/747443.1635536754@sss.pgh.pa.us https://git.postgre스포츠 토토 베트맨.org/pg/commitdiff/46d665bc26ce57b5afecbc218c8fc3c6848211d8

  • 바이너리 호환 사례에 대한 SP-GiST 스캔 초기화 논리를 수정합니다. 커밋 ac9099fc1은 인덱스의 값을 결정하는 spgGetCache()의 논리를 재정렬했습니다. attType(명목 입력 데이터 유형) 및 leafType(리프에 저장된 실제 유형) 인덱스 튜플). (a) 실제 입력 데이터 유형이 명목 유형과 다릅니다. (b) opclass의 구성 함수는 leafType을 기본값으로 유지하고 (c) opclass에는 "압축"이 없습니다. 기능. (b) 실제 입력 데이터 유형을 leafType으로 할당하게 했으며, 그런 다음 attType이 아니기 때문에 "압축" 기능이 다음과 같다고 불평했습니다. 필수. 비다형성 opclass의 경우 조건 (a)는 다음에서 발생합니다. varchar 열에 SP-GiST text_ops를 사용하는 등 바이너리 호환 사례 또는 명목상 입력 유형을 통해 도메인의 opclass를 사용합니다. 수정하려면 다음을 사용하세요. 인덱스의 선언된 열 유형이 leafType과 다른 경우 attType 그러나 attType과 바이너리 호환 가능합니다. defaulted-leafType에서만 이 작업을 수행하세요. 이 경우 opclass가 명시적으로 선택한 항목을 재정의하지 않도록 합니다. 버그별 Ilya Anfimov의 #17294입니다. v14로 백패치합니다. 논의:https://postgr.es/m/17294-8f6c7962ce877edc@postgresql.org https://git.postgre스포츠 토토 베트맨.org/pg/commitdiff/f4e7ae2b8a67ad6801726553a024a3306716ef80

  • Doc: 최소 Test::More 버전과 관련된 몇 가지 사항을 업데이트하세요. 감독 405f32fc4를 커밋합니다. 또한, (어려운 방법으로 발견한) 팁을 추가하세요. 테스트::최신 Linux 플랫폼에서 회귀 테스트를 통과하기 위한 추가 0.98입니다.https://git.postgre스포츠 토토 베트맨.org/pg/commitdiff/92e70796e91e2f9086fad0156e0e91513e54a66b

  • pg_receivewal, pg_recvlogical: 초기 비밀번호 프롬프트 취소를 허용합니다. 이전에는 Ctrl-C를 통해 이러한 프로그램을 종료하는 것이 불가능했습니다. 그들은 비밀번호를 요구하고 있었습니다. 우리는 그 문제를 간단하게 해결할 수 있습니다. SIGINT 핸들러 설정을 이동하여 초기 비밀번호 프롬프트를 표시합니다. 초기 GetConnection() 호출 전과 직후. 이 수정은 그렇지 않습니다 나중에 다시 프롬프트가 표시되는 것을 방지할 수 있지만 이러한 경우는 매우 드뭅니다. 사용자의 비밀번호나 서버의 인증 설정이 필요하기 때문에 그 사이에 바뀌었어요. 커밋과 유사한 수정 사항 적용을 고려했습니다. 46d665bc2, 하지만 그럴 가치가 있는 것보다 더 복잡해 보였습니다. 더욱이, 이 방법은 다시 패치할 수 있지만 그렇지 않았습니다. 잘못된 행동은 누구에게나 존재한다 지원되는 버전이므로 모두 백패치하세요. 톰 레인과 네이선 보사트 토론:https://postgr.es/m/747443.1635536754@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/282b6d00abf5cebece6f94c796a4ed807a0176db

Andres Freund가 밀었습니다:

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