릴리스 노트

PostgreSQL

E.23. 릴리스 12

출시 날짜 :2019-10-03

E.23.1. 개요

주요 향상PostgreSQL12 포함 :

  • :를 포함한 일반 성능 향상

    • B- 트리 인덱스의 우주 활용 및 읽기/쓰기 성능에 대한 최적화

    • 수천 개의 파티션을 갖춘 테이블의 개선 된 쿼리 성능, 삽입 된 삽입 성능을 포함한 쿼리 성능 향상을 포함하여 성능 향상을 분할합니다.삽입andCOPY및 실행 능력ALTER 테이블 첨부 파티션쿼리 차단없이

    • 자동 (그러나 비정기 가능)의 inlining공통 테이블 표현식 (CTES)

    • 감소Wal생성을위한 오버 헤드gist, SP-Gist색인

    • 커버 지원 지원gistindexes, the포함

    • 멀티 컬럼 대부분의 공통 가치 (MCV) 통계는를 통해 정의 할 수 있습니다통계 생성, 몇 개의 불균일 한 배포 열을 테스트하는 쿼리에 대한 더 나은 계획을 지원하려면

  • :를 포함한 관리 기능 향상

  • 지원SQL/JSONPath언어

  • 저장생성 열

  • nondeterministicICU 콜레이션, 사례에 민감하고 악센트 불필요한 그룹화 및 주문 가능

  • :를 포함한 새로운 인증 기능

    • 토토할 때 TCP/IP 연결 암호화gssapi인증

    • LDAP 서버 검색DNS SRV레코드

    • 다중 인증 인증,clientCert = verify-full옵션 추가 인증 방법과 결합on

위 항목은 아래 섹션에서 자세히 설명되어 있습니다.

E.23.2. 버전 12로의 마이그레이션

덤프/복원 토토pg_dumpall또는 토토pg_upgrade또는 이전 릴리스에서 데이터를 마이그레이션하려는 사람들에게는 논리 복제가 필요합니다. 보다섹션 18.6새로운 주요 릴리스로 마이그레이션에 관한 일반 정보.

버전 12에는 이전 릴리스와의 호환성에 영향을 줄 수있는 여러 가지 변경 사항이 포함되어 있습니다. 다음과 비 호환성을 관찰하십시오.

  • 특수 행동 제거OID열 (Andres Freund, John Naylor)§

    이전에는 정상적으로 보이지 않는OID열을 토토하여 테이블 생성 중에 열을 지정할 수 있습니다OIDS와 함께; 그 능력이 제거되었습니다.OID. 를 토토하여 열이 생성 된 테이블의 작업OIDS와 함께조정이 필요합니다.

    이전에 숨겨진 시스템 카탈로그OID열에는 이제 일반OID열. 따라서,선택 *이제 해당 열을 출력하지만 이전에는 명시 적으로 선택한 경우에만 표시됩니다.

  • 데이터 유형 제거Abstime, Reltimetinterval(Andres Freund)§

    이들은 SQL 표준 유형에 의해 쓸모없는타임 스탬프.

  • 제거TIMETRAVELExtension (Andres Freund)§

  • 움직임on설정on(Masao Fujii, Simon Riggs, Abhijit Menon-Sen, Sergei Kornilov)§

    on더 이상 토토되지 않고 해당 파일이 존재하면 서버가 시작되지 않습니다.recovery.signalandand파일은 이제 비 예정 모드로 전환하는 데 토토됩니다. 그만큼trigger_file설정 이름이 바뀌 었습니다Promote_trigger_File. 그만큼STATBBY_MODE설정이 제거되었습니다.

  • 다중 충돌을 허용하지 마십시오복구 _target*사양 (Peter Eisentraut)§

    구체적으로,를 허용합니다복구 _target, 복구 _target_lsn, 복구 _target_name, 복구 _target_time복구 _target_xid. 이전에는 이러한 매개 변수의 여러 다른 인스턴스를 지정할 수 있었고 마지막 인스턴스가 영예되었습니다.

  • 기본적으로 최신 타임 라인으로 전진하도록 복구 (Peter Eisentraut)§

    구체적으로복구 _target_timeline이제 기본값으로최신. 이전에는 기본적으로현재.

  • refactor code for기하학적 함수 및 연산자(Emre Hasegeli)§ § §

    이것은 이전 릴리스에 비해 더 정확하지만 약간 다른 결과로 이어질 수 있습니다. 특히, NAN, 언더 플로, 오버플로 및 분할과 관련된 경우는 이전보다 더 일관되게 처리됩니다.

  • 출력을위한 새로운 알고리즘을 토토하여 성능 향상Realand이중 정밀값 (Andrew Gierth)§ §

    이전에 표시된 부동 소수점 값이 6으로 반올림되었습니다 (forReal) 또는 15 (for이중 정밀) 기본적으로 숫자, 값으로 조정extra_float_digits. 이제마다extra_float_digits는 0보다 높습니다 (현재 기본적으로). 정확한 이진 값을 보존하는 데 필요한 최소 숫자 수는 출력입니다. 행동은 이전과 동일합니다extra_float_digits0 이하로 설정되었습니다.

    또한 플랫폼 지수의 형식은 플랫폼 전체에서 균일합니다. 3 자리가 필요하지 않으면 2 자리가 사용됩니다. 이전 릴리스에서 Windows 빌드는 항상 세 자리를 인쇄합니다.

  • random ()andsetseed ()이제 플랫폼 (Tom Lane)에서 균일하게 행동합니다§ §

    의 시퀀스random ()a 이후에 생성 된 값setseed ()특정 종자 값을 가진 전화는 이전과 다를 수 있습니다. 그러나 반복 가능하게 될 것입니다. 이는 서버 내부의 임의 숫자의 다른 사용으로 인한 간섭으로 인해 이전에 보장되지 않았습니다.random ()기능은 이제 그 자체의 세션당 상태를 가지고 있습니다.

  • SQL 스타일 변경substring ()표준 준수 탐욕 행동 (Tom Lane)§

    패턴이 여러 방식으로 일치 할 수있는 경우, 초기 하위 패턴은 이제 가장 큰 텍스트가 아닌 최소한의 텍스트 양과 일치하는 것으로 취급됩니다. 예를 들어,와 같은 패턴%#"AA*#"%이제 첫 번째 그룹을 선택합니다a는 마지막 그룹이 아닌 입력에서 나온 것입니다.

  • 결과를 제대로 인쇄하지 마십시오xpath ()또는xmltableConstruct (Tom Lane)§

    경우에 따라 이러한 함수는 노드 세트 값에 추가 공백 (Newlines 및/또는 공백)을 삽입합니다. 이것은 사용법에 따라 공백이 의미 적으로 유의 한 것으로 간주 될 수 있으므로 바람직하지 않습니다.

  • 명령 줄 도구 이름 바꾸기pg_verify_checksumstoPG_CHECKSUMS(Michaël Paquier)§

  • inPG_RESTORE, 사양이 필요합니다-f-덤프 내용을 표준 출력 (Euler Taveira)으로 보내려면§

    이전에, 이것은 대상이 지정되지 않은 경우 기본적으로 발생했지만 비우호적 인 것으로 간주되었습니다.

  • 비 유적 약어를 허용하지 않음PSQL's\ pset 형식Command (Daniel Vérité)§ §

    이전에\ pset 형식 aChose정렬; 이제는 똑같이 의미가 있기 때문에 이제 실패 할 것입니다Asciidoc.

  • New Btree Indexes에서는 최대 인덱스 입력 길이가 8 바이트 씩 감소하여 중복 항목의 취급을 향상시킵니다 (Peter Geoghegan)§

    이것은 a를 의미합니다.Reindex색인 작동pg_upgrade'd 이전 릴리스의 D는 잠재적으로 실패 할 수 있습니다.

  • 원인함수가 존재하는 경우 드롭/절차/집계/루틴인수 목록이 제공되지 않고 여러 개의 일치하는 객체 (David Rowley)가있는 경우 오류를 생성하려면§

    그러한 경우에 오류 메시지를 향상시킵니다.

  • 분할PG_STATISTIC_EXT두 개의 카탈로그에 카탈로그를 추가하고 추가하십시오.PG_STATS_EXT그것의 전망 (Dean Rasheed, Tomas Vondra)§ §

    이 변경 사항은 비전없는 사용자의 잠재적으로 민감한 통계 데이터를 숨기는 것을 지원합니다.

  • 쓸데없는 제거pg_constraint.CORRC칼럼 (Peter Eisentraut)§

    이 열은 다른 카탈로그 변경 (예 : 열 렌즈)에 대한 응답으로 업데이트되지 않았기 때문에 오랫동안 더 이상 토토되지 않았습니다. 텍스트 버전의 텍스트 버전을 얻는 권장 방법pg_constraintisPG_GET_EXPR (Conbin, Conrelid). pg_get_constraintdef ()유용한 대안입니다.

  • 쓸데없는 제거PG_ATTRDEF.adsrc칼럼 (Peter Eisentraut)§

    이 열은 다른 카탈로그 변경 (예 : 열 렌즈)에 대한 응답으로 업데이트되지 않았기 때문에 오랫동안 더 이상 토토되지 않았습니다. 기본 값 표현식의 텍스트 버전을 얻는 권장 방법PG_ATTRDEFispg_get_expr (adbin, adrelid).

  • 유형의 표식 열이름C기본적으로 Collation (Tom Lane, Daniel Vérité)§ §

    데이터 유형에 대한 비교 연산자이름이제 항상 토토하지 않고 콜라이트를 토토할 수 있습니다CCollation. 쿼리의 이전 의미를 보존하려면 유형의 열이름이제 명시 적으로 표시되어CCollation. 이것의 부작용은 정기적 인 발현 연산자입니다이름열은 이제를 토토합니다.C로케일 의존적 정규 표현 패턴의 동작을 결정하기 위해 데이터베이스 콜레이션이 아닌 기본적으로 Collation (예 :\ w). A에서 정규 표현을 위해 비 C 동작을 원한다면이름열, 명시 적 첨부Collate절. (토토자 정의이름열, 또 다른 가능성은 테이블 생성 시간에 다른 충돌을 지정하는 것입니다. 그러나 그것은 단지 비 백워드 호환성을 비교 연산자로 이동합니다.)

  • Information_Schema유형으로보기이름, 아님Varchar(Tom Lane)§ § §

    SQL 표준에 따라, 객체 이름 열Information_Schema보기는 도메인 유형으로 선언됩니다SQL_IDENIFIER. 안에PostgreSQL, 기본 카탈로그 열은 실제로 유형입니다이름. 이 변화는SQL_IDENIFIER도메인 오버이름가 아니라Varchar이전과 같이. 이것은 비교 및 ​​분류 동작에서 의미 론적 불일치를 제거하여 쿼리의 성능을 크게 향상시킬 수 있습니다Information_Schema개체 이름 열을 제한하는 뷰. 그러나 불평등 제한이 예를 들어

    select ... information_schema.tables where table_name < 'foo';

    이제 토토합니다C-locale 비교 시맨틱은 이전과 같이 데이터베이스의 기본 콜레이션 대신 기본적으로. 이 열의 정렬도 다음C주문 규칙. 이전 행동 (및 비 효율성)은 A를 추가하여 시행 할 수 있습니다."기본값"절.

  • 동적 공유 메모리를 비활성화하는 기능 제거 (Kyotaro Horiguchi)§

    구체적으로dynamic_shared_memory_type더 이상 설정할 수 없습니다없음.

  • PARSE LIBPQ 정수 연결 매개 변수 더 엄격하게 (Fabien Coelho)§

    이전 릴리스에서 연결 매개 변수에 잘못된 정수 값을 사용하여Connect_Timeout, Keepalives, Keepalives_Count, Keepalives_idle, Keepalives_Intervaland포트LIBPQ가 해당 값을 무시하거나 잘못된 오류 메시지로 실패했습니다.

E.23.3. 변화

아래에의 변경 사항에 대한 자세한 설명이 있습니다.PostgreSQL12 및 이전 주요 릴리스.

E.23.3.1. 섬기는 사람

E.23.3.1.1. 파티션
  • 분할 된 테이블에서 많은 작업의 성능 향상 (Amit Langote, David Rowley, Tom Lane, Álvaro Herrera)§ § § § §

    소수의 파티션에만 영향을 미치는 작업으로 수천 개의 아동 파티션이있는 테이블을 효율적으로 처리 할 수 ​​있습니다.

  • 허용외국 키참조 파티션 테이블 (Álvaro Herrera)§

  • 속도 향상COPY분할 된 테이블 (David Rowley)§

  • 파티션 경계가 어떤 표현이되도록 허용 (Kyotaro Horiguchi, Tom Lane, Amit Langote)§

    이러한 표현은 분할 된 테이블 생성 시간에서 평가됩니다. 이전에는 단순한 상수 만 분할 한계로 허용되었습니다.

  • 허용테이블 생성의 어린이의 테이블 스페이스에 영향을 미치는 파티션 된 테이블에 대한 테이블 스페이스 사양 (David Rowley, Álvaro Herrera)§

  • 파티션이 필요한 순서 (David Rowley)에서 이미 스캔 될 때 정렬되지 않습니다.§

  • ALTER 테이블 첨부 파티션이제 잠금 요구 사항 감소 (Robert Haas)로 수행되었습니다.§

  • 파티션 내성 기능 추가 (Michaël Paquier, Álvaro Herrera, Amit Langote)§ § §

    새로운 함수PG_PARTITION_ROOT ()파티션 트리의 가장 상위 부모를 반환합니다.PG_PARTITION_ANCESTORS ()파티션의 모든 조상을보고하고PG_PARTITION_TREE ()파티션에 대한 정보 표시.

  • 시스템보기에 분할 된 인덱스 포함pg_indexes(Suraj Kharage)§

  • addPSQL명령\ dp파티션 된 테이블 및 인덱스 (Pavel Stehule)를 나열하려면§

  • 개선PSQL \ dand\ z분할 된 테이블 디스플레이 (Pavel Stehule, Michaël Paquier, Álvaro Herrera)§ § §

  • 원인이 될 수있는 버그 수정Alter Table Detach Partition예를 들어 테이블이 삭제 될 때 이전 파티션 하위 지수를 삭제하지 않으면 서 후속 작업이 잘못 행동 할 수 있도록 잘못된 종속성 상태를 남겨 두려면 (Tom Lane)§

E.23.3.1.2. 인덱스
  • 많은 복제물 (Peter Geoghegan, Heikki Linnakangas)과 함께 Btree 지수의 성능 및 우주 활용 개선§ § §

    이전에, 중복 인덱스 항목은 중복 그룹 내에 정렬되지 않은 저장되었습니다. 이로 인해 인덱스 인서트 중 오버 헤드가 발생했으며 과도한 페이지 분할으로 인해 공간이 낭비되어 줄어 듭니다.진공의 전체 페이지를 재활용하는 능력. 중복 인덱스 항목은 이제 힙 스토리지 순서로 정렬됩니다.

    인덱스pg_upgrade'd 이전 릴리스에서 나온 이점은 이러한 이점이 없습니다.

  • 멀티 컬럼 BTREE 인덱스가 더 작아 지도록 허용 (Peter Geoghegan, Heikki Linnakangas)

    내부 페이지 및 최소/최대 잎 페이지 표시기는 이제 모든 인덱스 키가 아닌 변경 키까지 인덱스 키를 저장합니다. 이것은 또한 인덱스 액세스의 지역성을 향상시킵니다.

    인덱스pg_upgrade'd 이전 릴리스에서 나온 이점은 이러한 이점이 없습니다.

  • 잠금 오버 헤드 (Alexander Korotkov)를 줄임으로써 Btree 지수 삽입 속도 향상§

  • 지원포함열에서 열gistIndexes (Andrey Borodin)§

  • 가장 가까운 곳에 대한 지원 추가 (KNN) 검색SP-Gist인덱스 (Nikita Glukhov, Alexander Korotkov, Vlad Sterzhanov)§

  • 감소Wal오버 헤드 쓰기gist, SP-Gist색인 생성 (Anastasia Lubennikova, Andrey V. Lepikhov)§

  • 많은 열 (Konstantin Knizhnik)이있는 인덱스에서 인덱스 전용 스캔이 더 효율적이되도록 허용§

  • GIST 지수의 진공 스캔 성능 향상 (Andrey Borodin, Konstantin Kuznetsov, Heikki Linnakangas)§

  • 비우는 동안 빈 잎 페이지 삭제gist 진공(Andrey Borodin)§

  • 인덱스 변경에 대한 잠금 요구 사항 감소 (Peter Eisentraut)§

E.23.3.1.3. Optimizer
  • 허용통계 생성여러 열에 대한 대부분의 공통 가치 통계를 생성하려면 (Tomas Vondra)§ §

    이것은 여러 열을 테스트하는 쿼리에 대한 최적화를 향상시켜 여러의 결합 효과에 대한 추정이 필요합니다여기서조항. 열이 상관 관계가 있고 불균일 한 분포가있는 경우 다중 열 통계는 훨씬 더 나은 추정치를 허용합니다.

  • 허용공통 테이블 표현식 (CTES) 외부 쿼리 (Andreas Karlsson, Andrew Gierth, David Fetter, Tom Lane)§ §

    구체적으로CTEs는 부작용이없고 재귀가 아니며 쿼리에서 한 번만 참조됩니다. 지정함으로써 인라인이 방지 될 수 있습니다구체화CTE지정하여구체화되지 않음. 이전에,CTEs는 결코 감소되지 않았으며 항상 나머지 쿼리 전에 평가되었습니다.

  • 준비된 진술 (Pavel Stehule)에 일반 계획이 사용되는 시점에 대한 제어 허용§

    이것은에 의해 제어됩니다plan_cache_mode서버 매개 변수.

  • 파티션 최적화 향상 및Union All한 자녀 만있는 쿼리 (David Rowley)§

  • 처리 향상도메인확인 제약 조건이없는 (Tom Lane)§

    유형 별명으로 순전히 사용되는 도메인은 더 이상 최적화 어려움을 유발하지 않습니다.

  • 사전 평가최소and가장 큰그들의 주장이 상수 일 때 (Vik Fearing)§

  • 부분 인덱스를 확인하는 Optimizer의 기능 향상조건은 쿼리에서 토토할 수 있습니다 (Tom Lane, James Coleman)§ §

    호출 쿼리에 캐스트 또는 큰 경우 더 많은 경우 유용성을 인식 할 수 있습니다xin (배열)클로즈.

  • 컴퓨팅분석각 열에 대해 정의 된 콜레이션을 사용한 통계 (Tom Lane)§

    이전에 데이터베이스의 기본 콜레이션은 모든 통계에 사용되었습니다. 이것은 잠재적으로 비 디폴트 콜라이트가있는 열에 더 나은 최적화 행동을 제공합니다.

  • 불평등 비교를위한 선택성 추정 향상CTID열 (Edmund Horner)§

  • 유형 열에서 조인의 최적화 향상TID(Tom Lane)§ §

    이러한 변화는 주로 자체 조인의 효율성을 향상시킵니다CTID열.

  • 일부 btree 비교 연산자 및 지원 기능 (Tom Lane)의 누출성 지정 수정§ §

    이것은 보안 장벽보기 또는로드 레벨 보안이있을 때 이전에 적용되지 않은 일부 최적화를 허용합니다.

E.23.3.1.4. 일반 성능
  • 활성화JUST-IN-TIME (jit) 기본적으로 컴파일, 서버가 IT를 지원하여 구축 된 경우 (Andres Freund)§

    이 지원은 기본적으로 구축되지 않았지만 빌드를 구성하는 동안 명시 적으로 선택해야합니다.

  • 속도 업 키워드 조회 (John Naylor, Joerg Sonnenberger, Tom Lane)§ §

  • 다중 바이트 문자의 검색 성능 향상position ()및 관련 기능 (Heikki Linnakangas)§

  • 허용토스트최소 압축을받을 수있는 값 (Paul Ramsey)§

    이것은 구운 필드의 초기 부분 만 검사하면 필요한 루틴에 유용합니다.

  • 허용ALTER 테이블 ... SET NULL불필요한 테이블 스캔을 피하려면 (Sergei Kornilov)§

    테이블의 열 제약 조건을 허용하지 않는 것으로 인식 할 수있을 때 최적화 될 수 있습니다.

  • 허용Alter Table ... 데이터 유형 설정사이의 변경타임 스탬프andTimestamptz세션 시간대가있을 때 테이블을 다시 작성하려면UTC(Noah Misch)§

    inUTC시간대,이 두 가지 데이터 유형은 이진 호환입니다.

  • 문자열 변환 속도 향상int2또는int4정수 (Andres Freund)§

  • 있을 때 병렬화 된 쿼리 허용SERIALIZABLE격리 모드 (Thomas Munro)§

    이전 에이 모드에서 병렬 처리가 비활성화되었습니다.

  • usepread ()andpwrite ()무작위 I/O (Oskari Saarenmaa, Thomas Munro)§ §

    이것은 I/O에 필요한 시스템 호출 수를 줄입니다.

  • 설정 속도 향상프로세스 제목onfreebsd(Thomas Munro)§

E.23.3.1.5. 모니터링
  • 트랜잭션의 백분율에서만 명령문을 기록 할 수 있습니다 (Adrien Nayrat)§

    매개 변수log_transaction_sample_rate이것을 제어합니다.

  • 진행 상황 추가색인 생성andReindex운영 (Álvaro Herrera, Peter Eisentraut)§ §

    진행 상황에서보고됩니다PG_STAT_PROGRESS_CREATE_INDEX시스템보기

  • 진행 상황 추가클러스터and진공 Full(Tatsuro Yamada)§

    진행 상황에서보고됩니다PG_STAT_PROGRESS_CLUST시스템보기

  • 진행 상황 추가PG_CHECKSUMS(Michael Banck, Bernd Helmle)§

    이것은 옵션으로 활성화됩니다--progress.

  • 체크섬 고장의 카운터 추가PG_STAT_DATABASE(Magnus Hagander)§

  • 시스템보기에서 글로벌 객체 추적 추가PG_STAT_DATABASE(Julien Rouhaud)§

    글로벌 개체는 a와 함께 표시됩니다.PG_STAT_DATABASE.datid0의 값.

  • 아카이브 디렉토리의 내용을 나열하는 기능 추가 (Christoph Moench-teeder)§

    함수는PG_LS_ARCHIVE_STATUSDIR ().

  • 임시 디렉토리의 내용을 나열하는 기능 추가 (Nathan Bossart)§

    함수,PG_LS_TMPDIR (), 선택적으로 테이블 스페이스의 사양을 허용합니다.

  • 시스템보기에 클라이언트 인증서에 대한 정보 추가PG_STAT_SSL(Peter Eisentraut)§

    새 열은Client_Serialandissuer_dn. 열ClientDn이름이 변경되었습니다.client_dn명확성을 위해.

  • 행의 가시성 제한PG_STAT_SSL비전지가없는 사용자 (Peter Eisentraut)§

  • 서버 시작시 서버 버전 번호 (Christoph Berg)를 포함한 로그 메시지를 방출합니다.§

  • 로깅 방지불완전한 시작 패킷새 연결이 즉시 닫히면 (Tom Lane)§

    이것은 특정 형태의 모니터링에서 로그 스팸을 피합니다.

  • 포함Application_Name, 설정된 경우log_connections로그 메시지 (Don Seiler)§

  • Walreceiver가 세트 (Peter Eisentraut) 인 경우 응용 프로그램 이름을 클러스터 이름으로 설정합니다.§

  • 마지막 수신 된 대기 메시지의 타임 스탬프 추가pg_stat_replication(Lim Myungkyu)§

  • A 추가대기 이벤트fsync ofWal세그먼트 (Konstantin Knizhnik)§

E.23.3.1.6. 인증
  • addgssapi암호화 지원 (Robbie Harwood, Stephen Frost)§

    이 기능을 사용하면 SSL과 같은 별도의 암호화 기능을 설정하지 않고도 GSSAPI 인증을 사용할 때 TCP/IP 연결을 암호화 할 수 있습니다. 이를 지원하기 위해 추가hostgssencandhostnogssenc레코드 유형에서on기존에 해당하는 GSSAPI 암호화를 토토하거나 토토하지 않는 연결을 선택하려면hostsslandhostnossl레코드 유형. 새로운도 있습니다.gssencmodelibpq 옵션 및 APG_STAT_GSSAPI시스템보기

  • 허용ClientCert on데이터베이스 사용자 이름이 클라이언트 인증서의 공통 이름과 일치하는지 확인하는 옵션 (Julian Markwort, Marius Timmer)§

    이 새로운 수표가 활성화되어clientCert = verify-full.

  • 발견 허용LDAP서버 토토DNS SRVRecords (Thomas Munro)§

    이것은 지정 요구 사항을 피합니다ldapserver. 그것은 단지 지원됩니다.PostgreSQLOpenLDap.

E.23.3.1.7. 서버 구성
  • 클러스터 체크섬을 사용하여 활성화/비활성화하는 기능 추가PG_CHECKSUMS(Michael Banck, Michaël Paquier)§

    이러한 작업에 대한 클러스터를 종료해야합니다.

  • 기본값 감소autovacuum_vacuum_cost_delayto 2ms (Tom Lane)§

    이것은 기본적으로 Autovacuum 작업이 더 빠르게 진행될 수 있습니다.

  • 허용VACUUM_COST_DELAY분수 값 (Tom Lane)을 수락함으로써 밀리 초 지연 지연을 지정하려면§

  • 시간 기반 서버 매개 변수를 사용하도록 허용마이크로 초 (US) (Tom Lane)§

  • 정수 서버 매개 변수에 대한 분수 입력 허용 (Tom Lane)§

    예를 들어set work_mem = '30 .1gb '이제 허용됩니다.work_mem는 정수 매개 변수입니다. 필요한 단위 변환 후에 값이 정수로 반올림됩니다.

  • 부동 소수점 서버 매개 변수 (Tom Lane)에 대해 장치를 정의 할 수 있습니다.§

  • addWal_recycleandWal_init_zero제어 할 서버 매개 변수Wal파일 재활용 (Jerry Jelinek)§

    파일 재활용을 피하는 것은와 같은 복사기 파일 시스템에서 유리할 수 있습니다ZFS.

  • 서버 매개 변수 추가TCP_USER_TIMEOUT서버를 제어하려면TCP타임 아웃 (Ryohei Nagaura)§

  • 최소 및 최대의 제어 허용SSL프로토콜 버전 (Peter Eisentraut)§

    서버 매개 변수는입니다.SSL_MIN_PROTOCOL_VERSIONandssl_max_protocol_version.

  • 서버 매개 변수 추가ssl_library보고하려면SSL서버에서 사용하는 라이브러리 버전 (Peter Eisentraut)§

  • 서버 매개 변수 추가shared_memory_type사용할 공유 메모리 유형을 제어하려면 (Andres Freund)§

    이것은 선택을 허용합니다System V원하는 경우 공유 메모리.

E.23.3.2. 스트리밍 복제 및 복구

E.23.3.3. 유틸리티 명령

  • addReindex 동시에잠금을 막지 않고 다시 인덱싱을 허용하는 옵션 (Michaël Paquier, Andreas Karlsson, Peter Eisentraut)§

    이것은 또한에 의해 제어됩니다ReindexDB응용 프로그램-코커 릿터옵션.

  • 지원 추가생성 열(Peter Eisentraut)§

    생성 된 열의 내용은 표현식 (동일한 테이블의 다른 열에 대한 참조 포함)에서 계산됩니다.삽입또는업데이트명령.

  • A 추가여기서조항 to복사허용되는 행을 제어하려면 (Surafel Temesgen)§

    이것은 들어오는 데이터를 필터링하는 간단한 방법을 제공합니다.

  • 열거 된 값을보다 유연하게 추가 할 수 있도록 허용 (Andrew Dunstan, Tom Lane, Thomas Munro)§

    이전,ALTER 유형 ... 값 추가열거 된 유형을 생성 한 것과 동일한 트랜잭션의 일부가 아닌 한 트랜잭션 블록에서 호출 할 수 없습니다. 이제 새로운 열거 된 값이 커밋 될 때까지 참조되지 않는 한, 이후 거래에서 호출 될 수 있습니다.

  • 트랜잭션을 종료하고 새로운 거래를 시작하기위한 명령 추가 (Peter Eisentraut)§

    명령은커밋 및 체인and롤백 및 체인.

  • add진공and테이블 생성방지 옵션진공트러닝에서 후행 빈 페이지 (Takayuki Tsunakawa)§ §

    이 옵션은입니다.Vacuum_truncateand토스트 .vacuum_truncate. 이러한 옵션을 토토하면진공'잠금 요구 사항이지만 반환 디스크 공간이 운영 체제에 반환되는 것을 방지합니다.

  • 허용진공Index Cleanup (Masahiko Sawada)을 건너 뛰기 위해§ §

    이 변경 사항이 추가됩니다진공명령 옵션index_cleanup와 테이블 스토리지 옵션VACUUM_INDEX_CLEANUP. 이 옵션을 사용하면 공간을 되 찾는 기능이 줄어들고 인덱스 팽창으로 이어질 수 있지만 주요 목표는 오래된 튜플을 얼리는 것이 도움이됩니다.

  • 건너 뛰는 기능 추가진공and분석즉시 잠글 수없는 테이블에서의 작업 (Nathan Bossart)§

    이 옵션은입니다.skip_locked.

  • 허용진공and분석선택적 부울 인수 사양 (Masahiko Sawada)§

  • 예방Truncate, 진공and분석사용자가 허가가없는 테이블에 잠금을 요청하여 (Michaël Paquier)§ §

    이것은 토토자 쿼리를 방해 할 수있는 무단 잠금을 방지합니다.

  • add설명옵션설정출력이 아닌 최적의 최적화 설정 (Tomas Vondra)§

    이 출력을 토토할 때도 얻을 수 있습니다auto_explain설정auto_explain.log_settings.

  • add또는 교체옵션집계 생성(Andrew Gierth)§

  • 시스템 카탈로그의 수정 허용Alter Table(Peter Eisentraut)§

    카탈로그 수정 '재학및 Autovacuum 설정이 지원됩니다. (환경allow_system_table_mods여전히 필요합니다.)

  • 외래 키의 기본 제약 조건 이름을 선택할 때 모든 키 열 이름을 사용합니다 (Peter Eisentraut)§

    이전에, 첫 번째 열 이름 만 제약 조건 이름에 포함되어 다중 열 외국 키에 대한 모호성이 있습니다.

E.23.3.4. 데이터 유형

  • 유니 코드와 일치시키기 위해 유니 코드에 대한 다양한 지식을 업데이트하십시오 (Peter Eisentraut)§ §

    이것은 예를 들어, 경우를 수정합니다.PSQL문자 결합과 관련된 출력을 잘못 배출 할 것입니다.

  • 새로운 언어를 지원하는 스노우 볼 스티머 사전 업데이트 (Arthur Zakirov)§

    이것은 아랍어, 인도네시아, 아일랜드, 리투아니아, 네팔, 타밀어에 대한 단어 줄기 지원을 추가합니다전체 텍스트 검색.

  • 생성 허용Collations그 보고서는 비슷하지 않은 문자열에 대한 문자열 평등을보고합니다 (Peter Eisentraut)§

    이 기능은 지원nondeterministic사례 및 악센트 공유 평등 비교를 정의 할 수있는 콜라이트. 따라서, 예를 들어, 텍스트 열의 사례에 민감한 고유성 제약 조건은 이전보다 쉽게 ​​만들 수 있습니다.ICUCollations.

  • 지원 추가ICU구형 ICU 버전의 콜레이션 속성 (Peter Eisentraut)§

    이것은 모든 ICU 버전에서 일관된 방식으로 Collation 규칙을 사용자 정의 할 수 있습니다.

  • 데이터 유형 허용이름다른 텍스트 유형 (Tom Lane)과 더 완벽하게 비교할 수 있습니다.§

    타입이름이제 유형을 넘어 도메인처럼 동작텍스트기본 콜레이션이있는C. 이를 통해 교차 유형 비교가보다 효율적으로 처리 될 수 있습니다.

E.23.3.5. 기능

  • 지원 추가SQL/JSON Path언어 (Nikita Glukhov, Teodor Sigaev, Alexander Korotkov, Oleg Bartunov, Liudmila Mantrova)§ § §

    이것은 복잡한 쿼리를 실행할 수 있습니다JSONanSQL-스탠드 언어.

  • 지원 추가쌍곡기 함수(Lætitia avrot)§

    또한 추가log10 ()별칭으로log (), 표준 준수 용.

  • 와 같은 통계 집계의 정확도 향상variance ()보다 정확한 알고리즘을 사용하여 (Dean Rasheed)§

  • 허용date_trunc ()시간대를 제어하기위한 추가 인수 (Vik Fearing, Tom Lane)§

    이것은 토토하는 것보다 빠르고 간단합니다시간대에서절.

  • 조정TO_TIMESTAMP ()/to_date ()템플릿 불일치를 더 용서하는 기능 (Artur Zakirov, Alexander Korotkov, Liudmila Mantrova)§

    이 새로운 행동은 더 밀접하게 일치합니다Oracle같은 이름의 기능.

  • 다양한 버그 수정XML기능(Pavel Stehule, Markus Winand, Chapman Flack)§

    구체적으로xmltable, xpath ()xmlexists (), 노드에 대한 출력이 없거나 예기치 않은 오류가 발생하거나 XML 특수 문자의 탈출이 생략 된 경우를 수정하십시오.

  • 허용value절에서xmlexistsandxmltable(채프먼 플랙)§

    이 SQL 표준 조항에는 영향을 미치지 않습니다PostgreSQL의 구현이지만 불필요하게 거부되었습니다.

  • 예방current_schema ()andcurrent_schemas ()평행 근로자가 평행-안전하지 않기 때문에 (Michaël Paquier)§

  • 허용레코드andRecord []Query의 열 정의 목록에서 열 유형으로 토토하려면테이블 함수반품으로 선언 됨레코드(Elvis Pranskevichus)§

E.23.3.6. pl/pgsql

  • 동일한 pl/pgsql 함수 (Tom Lane)에서 사용하도록 해당 명령과 동일한 이름을 가진 SQL 명령 및 변수를 허용합니다.§

    예를 들어 변수를 허용합니다댓글를 호출하는 함수에 존재합니다댓글 SQL명령. 이전에는이 ​​조합이 구문 분석 오류를 일으켰습니다.

  • PL/PGSQL (Pavel Stehule)에 새로운 선택적 경고 및 오류 검사 추가§

    새로운 수표는 런타임 유효성 검사를 허용합니다in열 계산 및 단일 줄 결과.

E.23.3.7. 클라이언트 인터페이스

  • 연결 매개 변수 추가TCP_USER_TIMEOUT제어libpq'sTCP타임 아웃 (Ryohei Nagaura)§

  • 허용libpq(그리고PSQL) 만보고하려면sqlstate오류 메시지의 값 (Didier Gautheron)§

  • addlibpq기능pqresultMemorySize ()쿼리 결과에 사용되는 메모리를보고하려면 (Lars Kanis, Tom Lane)§

  • DISPLAY 없음/디버그 플래그 제거libpq's옵션연결 매개 변수 (Peter Eisentraut)§

    이것은이 매개 변수를 설정할 수 있습니다postgres_fdw.

  • 허용ECPG데이터 유형의 변수 생성BYTEA(Ryo Matsumura)§

    ECPG 클라이언트와 상호 작용할 수 있습니다BYTEA인코딩 된 양식을 토토하지 않고 직접 데이터.

  • add준비지원ECPG(Ryo Matsumura)§

E.23.3.8. 클라이언트 응용 프로그램

  • 허용VACUUMDB랩 어라운드 지평 (Nathan Bossart)을 기준으로 진공 테이블을 선택하려면§

    69899_69914-Min-XID-AGEand--min-mxid-age.

  • 허용VACUUMDB자물쇠 대기를 비활성화하거나 모든 가시적 페이지를 건너 뛰기 (Nathan Bossart)§

    69899_69914--skip-lockedand-드라이스 가능한 페이지 스키핑.

  • 명령 줄 유틸리티의 출력에 색상화 추가 (Peter Eisentraut)§

    환경 변수를 설정하여 활성화pg_colorto항상또는auto. 사용 된 특정 색상은 환경 변수를 설정하여 조정할 수 있습니다PG_COLORS, 색상에 대한 ANSI 탈출 코드를 사용합니다. 예를 들어, 기본 동작은와 같습니다.pg_colors = "error = 01; 31 : 경고 = 01; 35 : locus = 01".

E.23.3.8.1. PSQL
  • addCSV테이블 출력 모드PSQL(Daniel Vérité)§

    이것은에 의해 제어됩니다\ PSET 형식 CSV또는 명령 줄-CSV옵션.

  • 매뉴얼 페이지 표시URLinPSQL's\ helpSQL 명령 (Peter Eisentraut)의 출력§

  • 표시IP주소PSQL's\ conninfo(Fabien Coelho)§ §

  • 탭 완료 개선테이블 생성, 트리거 만들기, 이벤트 트리거 만들기, 분석, 설명, 진공, Alter Table, Alter Index, ALTER DATABASEAlter Index Alter Column(Dagfinn Ilmari Mannsåker, Tatsuro Yamada, Michaël Paquier, Tom Lane, Justin Pryzby)§ § § § § § § § §

E.23.3.8.2. pgbench
  • 쿼리에 의해 생성 된 값을 할당 할 수 있도록pgbench변수 (Fabien Coelho, Álvaro Herrera)§ §

    이것에 대한 명령은\ gset.

  • 정밀도 향상pgbench's-레이트옵션 (Tom Lane)§

  • 개선pgbench명확한 메시지 및 반환 코드가있는 오류보고 (Peter Eisentraut)§

E.23.3.9. 서버 응용 프로그램

  • 로그 파일 회전 제어 허용PG_CTL(Kyotaro Horiguchi, Alexander Kuzmenkov, Alexander Korotkov)§

    이전에, 이것은 AN을 통해서만 가능했습니다.SQL함수 또는 프로세스 신호.

  • 동안 새 서버 프로세스를 올바르게 분리합니다PG_CTL시작(Paul Guo)§

    이렇게하면 쉘 스크립트가 호출 된 경우 서버가 종료되는 것을 방지합니다PG_CTL나중에 중단됩니다.

  • 허용pg_upgrade파일 시스템의 클로닝 기능을 사용하려면 (Peter Eisentraut)가있는 경우§

    the-클론옵션은의 장점이 있습니다.-link, 새 클러스터가 시작된 후 이전 클러스터가 변경되는 것을 방지하면서.

  • 소켓 디렉토리의 사양을 사용하도록 허용pg_upgrade(Daniel Gustafsson)§

    이것은에 의해 제어됩니다--- 소켓 디르; 기본값은 현재 디렉토리입니다.

  • 허용PG_CHECKSUMSfsync 작업을 비활성화하려면 (Michaël Paquier)§

    이것은에 의해 제어됩니다-no-sync옵션.

  • 허용pg_rewindfsync 작업을 비활성화하려면 (Michaël Paquier)§

  • 수정PG_TEST_FSYNC정확한보고Open_Datasync기구Windows(Laurenz Albe)§ §

E.23.3.9.1. pg_dump, pg_dumpall, PG_RESTORE
  • 언제pg_dump데이터가삽입명령이 아닌 명령COPY, 각각에 둘 이상의 데이터 행이 포함되도록 허용삽입(Surafel Temesgen, David Rowley)§ §

    이것을 제어하는 ​​옵션은-rows-per-insert.

  • 허용pg_dump방출 할삽입 ... 충돌에서 아무것도 할 수 없습니다(Surafel Temesgen)§

    이것은 복원 중 충돌 실패를 피합니다. 옵션은입니다.-onflict-do-nothing.

  • 작업 순서를 병렬로 해체pg_dump후속 병렬로 토토되는 순서에서PG_RESTORE(Tom Lane)§

    이것은 허용PG_RESTORE특히 원래 덤프가 병렬로 수행되지 않은 경우보다 평행 한 병렬 복원을 수행합니다. 병렬 일정pg_dump도 다소 개선되었습니다.

  • 허용extra_float_digits지정할 설정pg_dumpandpg_dumpall(Andrew Dunstan)§

    이것은 주로 다른 소스 서버 버전에서 정확히 비교할 수있는 덤프를 만드는 데 유용합니다. 덤프가 복원 될 때 정밀도가 손실 될 수 있으므로 정상적인 토토에는 권장되지 않습니다.

  • add--exclude-database옵션pg_dumpall(Andrew Dunstan)§

E.23.3.10. 소스 코드

  • add액세스 방법 만들기새로운 테이블 유형을 생성하는 명령 (Andres Freund, Haribabu Kommi, Álvaro Herrera, Alexander Korotkov, Dmitry Dolgov)§ § § § § § § § §

    이것은 새로운 개발을 가능하게합니다테이블 액세스 방법, 다양한 토토 사례에 대한 스토리지를 최적화 할 수 있습니다. 기존액세스 방법은 기본값으로 남아 있습니다.

  • add플래너 지원 기능최적화 추정치, 인라인 및 기능 색인을 개선하기위한 인터페이스 (Tom Lane)§ § §

    이를 통해 확장자는 기능 별 선택성, 비용 및 함수의 인수에 의존 할 수있는 행 수정을 제공 할 수있는 플래너 지원 기능을 생성 할 수 있습니다. 지원 기능은 단순화 된 표현 및 색인 조건을 제공하여 최적화 가능성을 크게 확장 할 수 있습니다.

  • 수동으로 할당 된 OID를 재 흡수하고 그러한 OID의 관리를위한 새로운 프로젝트 정책을 수립합니다 (John Naylor, Tom Lane)§ §

    새로운 내장 객체 (예 : 새로운 기능)에 대한 OID를 수동으로 할당하는 패치는 이제 8000-9999 범위의 OID를 무작위로 선택해야합니다. 개발주기가 끝나면 커밋 된 패치가 사용하는 OID는 현재 4의 어딘가에있는 더 낮은 숫자로 변경됩니다.xxx새로운 토토OID스크립트. 이 접근법은 다른 과정 중 패치 간의 OID 충돌 가능성을 크게 줄여야합니다.

    외부 사용을위한 OID를 예약하는 특정 정책은 없지만, 수동으로 할당 된 OID가 필요한 포크 및 기타 프로젝트가 높은 7을 사용하는 것이 좋습니다.xxx범위. 이것은 최근에 마련된 패치와의 충돌을 피할 것이며, 핵심 프로젝트가 그 범위에 도달하기까지는 오랜 시간이 걸릴 것입니다..

  • buildCygwin정적 라이브러리 대신 Dynamic을 토토하는 바이너리 (Marco Atzeri)§

  • 제거구성스위치-disable-strong-random(Michaël Paquier)§

    이제 강력한 임의 수 소스가 필요합니다.

  • printf-가족 기능 및strerrorandstrerror_r, 이제 Postgres Code (Tom Lane) 내의 플랫폼에서 균일하게 작동합니다.§ § § §

    특히,printf이해%m어디에서나; Windows에서strerrorWinsock 오류 코드를 대처합니다 (백엔드에서는 그렇지 않지만 프론트 엔드 코드는 아니 었습니다); 그리고strerror_r항상 GNU 리턴 컨벤션을 따릅니다.

  • C99 호환 컴파일러가 필요하고MSVC2013 이상Windows(Andres Freund)§

  • usePandoc, 아님lynx, 일반 텍스트 문서 출력 파일 생성 (Peter Eisentraut)§ §

    이것은에만 영향을 미칩니다.설치파일 중에 생성dist그리고 거의 사용하지 않는 일반 텍스트postgres.txt출력 파일. Pandoc은 Lynx보다 더 나은 출력을 생성하며 일부 로케일/인코딩 문제를 피합니다.

  • 에서 이미지 사용 지원PostgreSQL문서 (Jürgen Purtz)§

E.23.3.11. 추가 모듈

  • 허용주문 by정렬 및Limit진 클라우스를 밀어야postgres_fdw더 많은 경우 외국 서버 (Etsuro Fujita)§ §

  • 최적화 비용 회계 개선postgres_fdw쿼리 (Etsuro Fujita)§ § §

  • 적절한 명예확인 옵션참조보기postgres_fdw테이블 (Etsuro Fujita)§

    while옵션 확인s onpostgres_fdw테이블은 무시됩니다 (참조가 외국이기 때문에), 이러한 표의 뷰는 로컬로 간주 되므로이 변경 사항은 시행됩니다옵션 확인그들에게. 이전에는 유일한삽입s and업데이트s with반환반환 된 조항옵션 확인값이 검증되었습니다.

  • 허용pg_stat_statements_reset ()더 세분화하려면 (Haribabu Kommi, Amit Kapila)§

    이제 기능을 통해 특정 데이터베이스, 사용자 및 쿼리에 대한 통계를 재설정 할 수 있습니다.

  • 제어 허용auto_explain로그 레벨 (Tom Dunstan, Andrew Dunstan)§

    기본값은log.

  • 업데이트Unaccent새로운 구두점 및 상징이있는 규칙 (Hugh Ranalli, Michaël Paquier)§

  • 허용UnaccentCOMPINING 문자 (Hugh Ranalli)로 인코딩 된 일부 악센트를 처리하려면§

  • 허용Unaccent그리스 캐릭터에서 악센트를 제거하려면 (Tasos Maschalidis)§

  • 매개 변수 추가Amcheck'sbt_index_parent_check ()트리의 뿌리에서 각 인덱스 튜플을 확인하는 기능 (Peter Geoghegan)§

  • 개선oid2nameandVacuumlo다른 명령과 일치하는 옵션 처리 (Tatsuro Yamada)§ §

E.23.4. 감사의 말

다음 개인 (알파벳 순서로)은이 릴리스에 패치 저자,위원회, 검토 자, 테스터 또는 문제의 기자로 기여했습니다.

Abhijit Menon-Sen
Achilleas Mantzios
아담 베를린
Adam Bielanski
Aditya Toshniwal
Adrien Nayrat
Alan Jackson
Albert Schabhuetl
Aleksander Alekseev
Alex Aktsipetrov
Alex Kliukin
89213_89222
Alexander Korotkov
Alexander Kukushkin
Alexander Kuzmenkov
Alexander Lakhin
Alexandra Ryzhevich
Alexey Bashtanov
Alexey Ermakov
Alexey Kondratov
Alexey Kryuchkov
Alexey Stepanov
Allison Kaptur
Álvaro Herrera
Alyssa Ross
Amit Kapila
Amit Khandekar
Amit Langote
Amul Sul
Anastasia Lubennikova
André Hänsel
Andrea Gelmini
Andreas Joseph Krogh
Andreas Karlsson
Andreas Kunert
Andreas Scherbaum
Andreas Seltenreich
Andrei Yahorau
Andres Freund
Andrew Dunstan
Andrew Fletcher
Andrew Gierth
Andrew Krasichkov
Andrey Borodin
Andrey Klychkov
Andrey Lepikhov
Andy Abelisto
Anthony Greene
Anthony Skorski
Antonin Houska
Arne Roland
Arseny Sher
Arthur Zakirov
Ash Marath
Ashutosh Bapat
Ashutosh Sharma
Ashwin Agrawal
Aya Iwata
Bartosz Polnik
Basil Bourque
Bernd Helmle
Brad Dejong
Brigitte Blanc-Lafay
Bruce Klein
Bruce Momjian
Bruno Wolff
채프먼 플랙
Chen Huajun
Chris Travers
Chris Wilson
Christian Hofstaedtler
Christoph Berg
Christoph Moench-teeder
Clemens Ladisch
Colm McHugh
Corey Huinker
Craig Ringer
Dagfinn Ilmari Mannsåker
Daisuke Higuchi
Daniel Fiori
Daniel Gustafsson
Daniel Vérité
Daniel Westermann
Daniel Wilches
Darafei Praliaskouski
Daryl Waycott
Dave Cramer
David Binderman
David Fetter
David G. Johnston
David Rowley
David Steele
Davy Machado
Dean Rasheed
데릭 한스
데릭 넬슨
Devrim Gündüz
Dian Fay
Didier Gautheron
Dilip Kumar
dmitry dolgov
Dmitry Marakasov
dmitry molotkov
Dmitry Shalashov
Don Seiler
Donald Dong
Doug Rady
Edmund Horner
Eduards Bezverhijs
Elvis Pranskevichus
Emanuel Araújo
Emre Hasegeli
Eric Cyr
Erik Rijkers
ertugrul kahveci
Etsuro Fujita
Eugen Konkov
Euler Taveira
Fabien Coelho
Fabrízio de Royes Mello
Feike Steenbergen
Filip Rembialkowski
Gaby Schilders
Geert Lobbestael
George Tarasov
Georgios Kokolatos
Gianni Ciolli
Gilles Darold
Greg Stark
Grigory Smolkin
Guillaume Lelarge
Gunnlaugur Thor Biem
Gurjeet Singh
Hadi Moshayedi
Hailong Li
Hans Buschmann
Haribabu Kommi
Haruka Takatsuka
Hayato Kuroda
Heikki Linnakangas
Hironobu Suzuki
Hubert Lubaczewski
Hugh Ranalli
Ian Barwick
Ibrar Ahmed
Ildar Musin
Insung Moon
ioseph Kim
Isaac Morland
Ivan Panchenko
Jack Kelly
야곱 챔피언
Jaime Casanova
Jakob Egger
Jakub Glapa
Jakub Janecek
James Coleman
제임스 정보
제임스 로빈슨
James Sewell
제임스 톰슨
Jan Chochol
Jaroslav Sivy
Jean-Christophe Arnu
Jean-Marc Voillequin
Jean-Pierre Pelletier
Jeevan Chalke
Jeevan Ladhe
Jeff Davis
Jeff Janes
제레미 에반스
Jeremy Schneider
제레미 스미스
Jerry Jelinek
Jesper Pedersen
Jianing Yang
Jie Zhang
Jim Nasby
Jimmy Yih
Joe Conway
Joe Wildish
Joerg Sonnenberger
John Klann
John Naylor
Jonah Harris
Jonathan S. Katz
Jorge Gustavo Rocha
José Arthur Benetasso Villanova
Joshua D. Drake
Juan José Santamaría Flecha
Julian Hsiao
Julian Markwort
Julian Schauder
Julien Rouhaud
Jürgen Purtz
Jürgen Strobel
Justin Pryzby
Kaiting Chen
Karen Huddleston
Karl Czajkowski
Karl O. Pinc
Keiichi Hirobe
Keith Fiske
Ken Tanzer
Kenji Uno
Kevin Grittner
100002_100018
Kieran McCusker
Kirk Jamison
Kohei Kaigai
Konstantin Knizhnik
Konstantin Kuznetsov
Kristjan Tammekivi
Kuntal Ghosh
Kyle Samson
Kyotaro Horiguchi
Lætitia avrot
Lars Kanis
Laurenz Albe
Lim Myungkyu
Liu Huailing
Liudmila Mantrova
로이드 알빈
Luca Ferrari
Luis M. Carril
Lukas Eder
Lukas fittl
Madelaine Thibaut
Madeleine Thompson
Magnus Hagander
Mahendra Singh
Mai Peng
Maksim Milyutin
Maksym Boguk
Malthe Borch
Manuel Rigger
Marco Atzeri
마르코 슬롯
Marina Polyakova
Mario de Frutos Dieguez
Marius Timmer
Mark Chambers
Mark Dilger
Marko Tiikkaja
Markus Winand
Martín Marqués
Masahiko Sawada
Masao Fujii
Mateusz Guzik
Mathias Brossard
Matt Williams
Matthias Otterbach
Matvey Arye
Melanie Plageman
mi tar
Michael Banck
Michael Davidson
Michael Meskes
Michael Paquier
Michael Vitale
Michel Pelletier
Mikalai Keida
Mike Palmiotto
Mithun Cy
Morgan Owens
Murat Kabilov
Nathan Bossart
Nawaz Ahmed
Neeraj Kumar
Nick Barnes
Nico Williams
Nikita Glukhov
Nikolay Shaplov
Ning Yu
Nishant fnu
Noah Misch
Norbert Benkocs
Noriyoshi Shinoda
Oleg Bartunov
Oleg Samoilov
Oleksii Kliukin
Ondrej Bouda
Oskari Saarenmaa
Pan Bian
​​Patrick Francelle
Patrick McHardy
Paul A. Jungwirth
Paul Bonaud
Paul Guo
Paul Martinez
Paul Ramsey
Paul Schaap
Paul van der Linden
Pavan Deolasee
Pavel Oskin
Pavel Raiskup
Pavel Stehule
Peifeng Qiu
Peter Billen
Peter Eisentraut
Peter Geoghegan
Peter Neave
PETR Fedorov
Petr Jelínek
Petr Slavov
Petru-Florin Mihancea
Phil Bayer
Phil Florent
Philip Dubé
Pierre Ducroquet
Piotr Gabriel Kosinski
Piotr Stefaniak
piotr wlodarczyk
Prabhat Sahu
Quentin Rameau
Rafael Castro
Rafia Sabih
Rahila Syed
Rajkumar Raghuwanshi
Rares Salcudean
Raúl Marín Rodríguez
Regina Obe
Renaud Navarro
Richard Guo
Rick Otten
Rikard Falkeborn
rk korlapati
Robbie Harwood
Robert Haas
Robert Treat
Robert Vollmert
Roger Curley
Roman Zharkov
Ronan Dunklau
Rui Hai Jiang
Rushabh Lathia
Ryan Lambert
Ryo Matsumura
Ryohei Nagaura
Ryohei Takahashi
Samuel Williams
샌드 스톤
Sanyo Capobiango
Satoru Koizumi
Sean Johnston
Serge Latyntsev
Sergei Kornilov
Sergey Pashkov
Sergio Conde Gómez
Shawn Debnath
Shay Rojansky
쇼 카토
Shohei Mochizuki
Shouyu Luo
Simon Riggs
Sivasubramanian Ramasubramanian
Slawomir Chodnicki
Stas Kelvish
Stefan Kadow
Stepan Yankevych
Stephen Amell
Stephen Frost
Steve Rogerson
Steve Singer
Steven Winfield
Surafel Temesgen
Suraj Kharage
Suresh Kumar R
Takayuki 쓰나카와
Takeshi Ideriha
Takuma Hoshiai
Tasos Maschalidis
Tatsuo Ishii
Tatsuro Yamada
Teodor Sigaev
Thom Brown
Thomas Munro
Thomas Poty
Tillmann Schulz
Tim Möhlmann
Timur Birsh
Tobias Bussmann
Tom Cassidy
Tom Dunstan
Tom Gottfried
Tom Lane
Tomas Vondra
Tushar Ahuja
Ulf Adams
Vaishnavi Prabakaran
Victor Petrovykh
Victor Wagner
Victor Yegorov
Vijaykumar Jain
Vik Fearing
Vlad Sterzhanov
Vladimir Baranoff
Vladimir Kriukov
Wu Fei
Yaroslav Schekin
Yi Huang
Yoshikazu Imai
Yugo Nagata
Yulian Khodorkovskiy
yuming wang
Yunqiang Su
Yuri Kurenkov
Yusuke Egashira
Yuzuko Hosoya
Zhou Digoal