릴리스 노트

PostgreSQL

E.23. 릴리스 11

출시 날짜 :2018-10-18

E.23.1. 개요

주요 향상PostgreSQL11 포함 :

  • :를 포함한 분할 기능 개선

    • 해시 키에 의한 파티셔닝 지원 추가

    • 지원 추가기본 키, 외국 키, 인덱스 및 파티션 된 테이블의 트리거

    • a 생성 토토 결과기본값나머지 파티션과 일치하지 않는 데이터를 저장하기위한 파티션

    • 업데이트파티션 키 열을 변경하는 진술은 이제 영향을받는 행이 적절한 파티션으로 이동하게됩니다

    • 개선select쿼리 계획 및 실행 중 강화 된 파티션 제거 전략을 통한 성능

  • :를 포함한 병렬 처리 개선

    • 색인 생성이제 B-Tree Index를 구축하는 동안 병렬 처리를 토토 결과할 수 있습니다

    • 이제 병렬화가 가능합니다테이블 생성 ... as, 구체화 된보기 만들기및 토토 결과을 토토 결과하는 특정 쿼리Union

    • 병렬화 된 해시 조인 및 병렬화 된 순차 스캔이 더 잘 작동합니다

  • 임베디드 트랜잭션을 지원하는 SQL 저장 프로 시저

  • 일부 SQL 코드에 대한 옵션 JIT (Just-In-Time) 컴파일, 표현의 속도 평가

  • 창 함수는 이제 SQL에 표시된 모든 프레임 옵션을 지원합니다.범위거리선행/다음, 그룹모드 및 프레임 제외 옵션

  • 커버링 인덱스가 이제를 토토 결과하여 생성 할 수 있습니다.포함절의 조항색인 생성

  • 테이블을 피할 수있는 능력을 포함하여 많은 유용한 성능 향상Alter Table ... 열 추가null 열 기본값이없는

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

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

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

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

  • makepg_dump내용이 아니라 데이터베이스의 속성을 덤프하십시오 (Haribabu Kommi)

    이전에 데이터베이스 수준과 같은 데이터베이스 자체의 속성grant/Revoke권한 및데이터베이스 세트 변경가변 설정은 |pg_dumpall. 지금PG_DUMP -CREATEandPG_RESTORE-CREATE데이터베이스 내의 객체 외에 이러한 데이터베이스 속성을 복원합니다.PG_DUMPALL -G이제 역할 및 테이블 스페이스 관련 속성 만 덤프합니다.pg_dumpall의 완전한 출력 (-g) 변경되지 않았습니다.

    pg_dumpandPG_RESTORE,-Create, 더 이상 덤프/복원 데이터베이스 레벨 주석 및 보안 레이블; 그것들은 현재 데이터베이스의 속성으로 취급됩니다.

    pg_dumpall'의 출력 스크립트는 이제 원래 로케일 및 인코딩으로 항상 데이터베이스를 생성하므로 로케일 또는 인코딩 이름이 대상 시스템에 알려지지 않은 경우 실패합니다. 이전에,데이터베이스 생성데이터베이스 로케일과 인코딩이 이전 클러스터의 기본값과 일치하는 경우 이러한 사양없이 방출됩니다.

    PG_DUMPALL -CLEAN이제 원래 로케일을 복원하고의 인코딩 설정을 복원합니다.Postgresandtemplate1데이터베이스 및 토토 결과자가 만든 데이터베이스의 데이터베이스.

  • 열을 명확하게 할 때 구문 양식을 고려하여 열 참조 (Tom Lane)

    언제x테이블 이름 또는 복합 열입니다.PostgreSQL전통적으로 구문 양식을 고려했습니다f(x)andx.f동일하게 함수를 작성한 다음 주문형 열인 것처럼 사용하는 것과 같은 트릭을 토토 결과합니다. 그러나 두 해석이 모두 가능하면 칼럼 해석이 항상 선택되어 사용자가 기능 해석을 의도 한 경우 놀라운 결과를 초래했습니다.

  • 테이블 및 도메인 제약 이름의 독창성을 완전히 시행합니다 (Tom Lane)

    PostgreSQL테이블의 제약 조건의 이름이 도메인의 제약 조건의 이름과 마찬가지로 구별 될 것으로 기대합니다. 그러나 이것에 대한 엄격한 시행은 없었으며, 이전에는 중복 이름을 만들 수있는 코너 케이스가있었습니다.

  • make전력 (숫자, 숫자)andPower (float8, float8)핸들NANPOSIX 표준 (Tom Lane, Dang Minh Huong)에 따른 입력

    POSIX는nan ^ 0 = 1and1 ^ nan = 1, 그러나 다른 모든 경우NAN입력 (S)이 반환해야합니다NAN. 전력 (숫자, 숫자)방금 반환NAN그러한 모든 경우; 이제 두 가지 예외를 존중합니다.Power (float8, float8)C 라이브러리가하는 경우 표준을 따랐습니다. 그러나 일부 오래된 유닉스 플랫폼에서는 라이브러리가 그렇지 않으며 일부 버전의 Windows에도 문제가있었습니다.

  • 예방to_number ()템플릿 분리기가 일치하지 않을 때 문자 소비에서 (Oliver Ford)

    구체적으로select to_number ( '1234', '9,999')반환에 토토 결과134. 이제 돌아올 것입니다1234. Landth이제 숫자가 아닌 문자 만 소비합니다.

  • 수정to_date (), to_number ()TO_TIMESTAMP ()각 템플릿 문자에 대한 문자를 건너 뛰려면 (Tom Lane)

    이전에 하나를 건너 뛰었습니다바이트템플릿 문자의 각 바이트마다 문자열 중 하나가 멀티 바이트 문자가 포함 된 경우 이상한 동작이 발생합니다.

  • 템플릿 문자열의 이중 인용문 내부의 백 슬래시 처리 조정to_char (), to_number ()TO_TIMESTAMP ().

    그러한 백 슬래시는 이제 그 후 캐릭터, 특히 더블 쿼트 또는 다른 백 슬래시를 피합니다.

  • 상대 경로 표현식을 올바르게 처리합니다xmltable (), xpath ()및 기타 XML 처리 기능 (Markus Winand)

    SQL 표준에 따라, 상대 경로는 XML 입력 문서의 문서 노드에서 시작되며, 이러한 기능이 이전에했던 것과 같이 루트 노드가 아닙니다..

  • in확장 쿼리 프로토콜, makestation_timeout각각의 실행 메시지에 별도로 적용되며, 동기화되기 전의 모든 명령이 아니라 (Tatsuo Ishii, Andres Freund)

  • 제거Relhaspkey시스템 카탈로그에서 열pg_class(Peter Eisentraut)

    기본 키를 확인 해야하는 응용 프로그램은 참조해야합니다pg_index.

  • 시스템 카탈로그 교체PG_PROC'sProisaggandProisWindowProkind(Peter Eisentraut)

    이 새로운 열은 함수, 절차, 집계 및 창 함수를보다 명확하게 구별합니다.

  • 수정 정보 스키마 열테이블.table_type반환외국대신외국 표(Peter Eisentraut)

    이 새로운 출력은 SQL 표준과 일치합니다.

  • 백그라운드 작업자가 일치하도록 PS 프로세스 디스플레이 레이블 변경pg_stat_activity.backend_type레이블 (Peter Eisentraut)

  • 큰 오브젝트가 열려있는 동안 큰 객체 권한 점검이 발생하기 때문에lo_open (), 읽기 또는 쓰기가 시도 될 때가 아니라 (Tom Lane, Michael Paquier)

    쓰기 액세스가 요청되고 토토 결과할 수없는 경우 큰 객체가 기록되지 않더라도 오류가 발생합니다.

  • 비 슈퍼 토토 결과자가 공유 카탈로그 (Michael Paquier, Robert Haas)를 다시 구매하는 것을 방지합니다.

    이전에 데이터베이스 소유자도이를 수행 할 수 있었지만 이제는 특권의 범위를 벗어난 것으로 간주됩니다.

  • 감가 상각 된 제거adminpack기능pg_file_read (), pg_file_length ()pg_logfile_rotate ()(Stephen Frost)

    동등한 기능이 이제 코어 백엔드에 있습니다. 기존의adminpack설치는 이러한 기능이 계속 업데이트 될 때까지 이러한 기능에 계속 액세스 할 수 있습니다Alter Extension ... Update.

  • 이중 인용 명령 옵션의 대문자 (Daniel Gustafsson)

    이전에, 특정 SQL 명령의 옵션 이름은 이중 인용문으로 입력하더라도 강제로 하위 기준을 받았습니다. 예를 들어"FillFactor"인덱스 저장 옵션으로 토토 결과되지만 이름은 하위 신호입니다. 이러한 경우는 이제 오류가 발생합니다.

  • 서버 매개 변수 제거대체 _sort_tuples(Peter Geoghegan)

    교체 정렬은 더 이상 유용하지 않은 것으로 결정되었습니다.

  • remodwith조항함수 만들기(Michael Paquier)

    PostgreSQL이 기능에 대한보다 표준 준수 구문을 오랫동안 지원해 왔습니다.

  • pl/pgsql 트리거 함수에서oldandNEW변수는 이제 할당되지 않으면 널로 읽습니다 (Tom Lane)

    이전에, 이러한 변수에 대한 참조는 구문 분석 할 수 있지만 실행되지 않을 수 있습니다.

E.23.3. 변화

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

E.23.3.1. 섬기는 사람

E.23.3.1.1. 분할
  • 해싱을 기반으로 파티션 생성 토토 결과 키 열 (Amul Sul)

  • 분할 된 테이블의 지원 인덱스 (Álvaro Herrera, Amit Langote)

    an색인파티션 된 테이블의 파티션 된 테이블 전체에 걸친 물리적 인덱스가 아니라 테이블의 각 파티션에서 유사한 인덱스를 자동으로 생성하기위한 템플릿입니다.

    파티션 키가 인덱스 열 설정의 일부인 경우 파티션 된 인덱스가 선언 될 수 있습니다고유 한. 각 물리적 인덱스가 자체 파티션 내에서만 고유성을 시행하더라도 전체 분할 된 테이블 전체에 걸쳐 유효한 고유성 제약 조건을 나타냅니다..

    새로운 명령Alter Index 첨부 파티션파티션의 기존 인덱스가 파티션 된 테이블의 일치하는 인덱스 템플릿과 연관되도록합니다. 이는 기존 파티션 테이블에 대한 새로운 파티션 된 인덱스를 설정하는 데 유연성을 제공합니다.

  • 분할 된 테이블에서 외국 키 토토 결과 (Álvaro Herrera)

  • 토토 결과각 행분할 된 테이블의 트리거 (Álvaro Herrera)

    파티션 된 테이블에서 트리거 생성을 통해 기존 및 향후 파티션에서 트리거를 자동으로 생성합니다. 이것은 또한 분할 된 테이블에서 지연된 고유 한 제약을 토토 결과합니다.

  • 파티션 된 테이블이 기본 파티션 (Jeevan Ladhe, Beena Emerson, Ashutosh Bapat, Rahila Syed, Robert Haas)을 갖도록 토토 결과합니다.

    기본 파티션은 다른 정의 된 파티션과 일치하지 않는 행을 저장하고 그에 따라 검색됩니다..

  • 업데이트파티션 키 열을 변경하는 진술은 이제 영향을받는 행이 적절한 파티션 (Amit Khandekar)으로 이동하게됩니다.

  • 토토 결과삽입, 업데이트COPY분할 된 테이블에서 행을 외국 파티션으로 올바르게 배출 할 수 있습니다 (Etsuro Fujita, Amit Langote)

    이것은 지원됩니다postgres_fdw외국 테이블. 이후로execforeigninsert콜백 함수는 예전과는 다른 방식으로이를 요구합니다.이 변경에 대처하려면 외국 데이터 포장지를 수정해야합니다..

  • 쿼리 처리 중에 더 빠른 파티션 제거 토토 결과 (Amit Langote, David Rowley, Dilip Kumar)

    이것은 많은 파티션이있는 파티션 된 테이블에 대한 액세스 속도를 높입니다.

  • 쿼리 실행 중에 파티션 제거 토토 결과 (David Rowley, Beena Emerson)

    이전에, 파티션 제거는 계획 시간에만 발생했으며, 이는 많은 조인 및 준비된 쿼리가 파티션 제거를 사용할 수 없음을 의미합니다..

  • 분할 된 테이블 사이의 평등 조인에서 일치하는 파티션을 직접 결합 할 수 있습니다 (Ashutosh Bapat)

    이 기능은 기본적으로 비활성화되었지만 변경하여 활성화 할 수 있습니다enable_partitionwise_join.

  • 파티션 된 테이블의 골재 기능이 각 파티션에 대해 별도로 평가할 수 있도록 결과를 병합합니다 (Jeevan Chalke, Ashutosh Bapat, Robert Haas)

    이 기능은 기본적으로 비활성화되었지만 변경하여 활성화 할 수 있습니다enable_partitionwise_aggregate.

  • 토토 결과postgres_fdw골재를 파티션 인 외국 테이블로 밀어 넣으려면 (Jeevan Chalke)

E.23.3.1.2. 병렬 쿼리
  • Btree 지수의 병렬 건물 토토 결과 (Peter Geoghegan, Rushabh Lathia, Heikki Linnakangas)

  • 공유 해시 테이블 (Thomas Munro)을 토토 결과하여 해시 조인을 병렬로 수행하도록 토토 결과

  • 토토 결과Union각각 실행하려면select개인이면 병렬selects 병렬화 할 수 없습니다 (Amit Khandekar, Robert Haas, Amul Sul)

  • 파티션 스캔 토토 결과보다 효율적으로 병렬 작업자 (Amit Khandekar, Robert Haas, Amul Sul)

  • 토토 결과Limit병렬 노동자들에게 전달되기 (Robert Haas, Tom Lane)

    이를 통해 근로자가 반환 된 결과를 줄이고 대상 지수 스캔을 사용할 수 있습니다.

  • 단일 평가 쿼리 토토 결과 (예 :여기서조항 집계 쿼리 및 병렬화 할 대상 목록의 기능 (Amit Kapila, Robert Haas)

  • 서버 매개 변수 추가Parallel_Leader_Participation리더가 하위 계획을 실행하는지 여부를 제어하려면 (Thomas Munro)

    기본값이 활성화되어 리더가 하위 계획을 실행합니다.

  • 명령의 병렬화 토토 결과테이블 생성 ... as, 선택구체화 된보기 만들기(Haribabu Kommi)

  • 많은 병렬 작업자 (David Rowley)와의 순차적 스캔 성능 향상

  • 병렬 근로자의 정렬 활동에 대한보고설명(Robert Haas, Tom Lane)

E.23.3.1.3. 인덱스
  • B- 트리 인덱스는 검색 키나 고유 한 제약 조건의 일부가 아닌 열을 포함하도록 토토 결과하지만 인덱스 전용 스캔 (Anastasia Lubennikova, Alexander Korotkov, Teodor Sigaev)으로 읽을 수 있습니다.

    이것은 New에 의해 활성화됩니다포함절의 조항색인 생성. 건물을 촉진합니다커버링 인덱스특정 유형의 쿼리를 최적화하는. 데이터 유형이 B- 트리 지원이 없어도 열을 포함시킬 수 있습니다.

  • 단조로 증가하는 인덱스 추가의 성능 향상 (Pavan Deolasee, Peter Geoghegan)

  • 해시 지수 스캔의 성능 향상 (Ashutosh Sharma)

  • 해시, GIST 및 GIN 인덱스에 대한 술어 잠금 추가 (Shubham Barai)

    이것은 직렬화 가능한 모드 트랜잭션에서 직렬화 충돌 가능성을 줄입니다.

E.23.3.1.3.1. SP-Gist
  • 접두사 매치 연산자 추가텍스트 ^@ 텍스트, SP-Gist (Ildus Kurbangaliev)가 지원합니다.

    이것은 토토 결과과 유사합니다var 같은 'Word%'btree 지수를 토토 결과하는 것은 더 효율적입니다.

  • ​​SP-Gist (Nikita Glukhov, Alexander Korotkov)와 함께 다각형을 색인화 할 수 있습니다.

  • SP-Gist가 잎 열쇠 (Teodor Sigaev, Heikki Linnakangas, Alexander Korotkov, Nikita Glukhov)의 손실 표현을 사용하도록 토토 결과합니다.

E.23.3.1.4. Optimizer
  • 통계의 가장 일반적인 값 선택 개선 (Jeff Janes, Dean Rasheed)

    이전에 가장 일반적인 값 (MCVs)는 모든 열 값과 비교하여 빈도에 따라 식별되었습니다. 지금,MCVs는 비에 비해 빈도에 따라 선택됩니다.MCV값. 이것은 균일 한 분포 및 불균일 한 분포 모두에 대한 알고리즘의 견고성을 향상시킵니다.

  • 선택성 향상> =and<=(Tom Lane)

    이전에, 그러한 경우와 동일한 선택성 추정치를 사용했습니다.and<, 비교 상수가없는 한.MCVs. 이 변경 사항은 특히 관련 쿼리에 특히 도움이됩니다사이작은 범위와 함께.

  • 감소var = vartovar 동등한 위치 (Tom Lane)

    이것은 더 나은 선택성 추정치로 이어집니다.

  • Optimizer의 행 카운트 추정치 향상존재and존재하지 않음쿼리 (Tom Lane)

  • 평가 비용과 선택성을 위해 Optimizer 계정 만들기Clauses (Tom Lane)

E.23.3.1.5. 일반 성능
  • addJUST-IN-TIME (jit) 실행 속도를 개선하기위한 쿼리 계획의 일부 부분 (Andres Freund)

    이 기능이 필요합니다llvm토토 결과 가능합니다. 이 제품은 현재 기본적으로 활성화되어 있지 않습니다.

  • 비트 맵 스캔이 가능하면 인덱스 전용 스캔을 수행하도록 토토 결과 (Alexander Kuzmenkov)

  • 중에 여유 공간지도 업데이트진공(Claudio Freire)

    이것은 여유 공간을 더 빨리 재토토 결과 할 수있게 해줍니다.

  • 토토 결과진공불필요한 지수 스캔을 피하려면 (Masahiko Sawada, Alexander Korotkov)

  • 여러 동시 트랜잭션 커밋 성능 향상 (Amit Kapila)

  • 대상 목록 (Andres Freund)에서 설정 함수를 토토 결과하여 쿼리의 메모리 토토 결과을 줄입니다.

  • 집계 계산 속도 향상 (Andres Freund)

  • 토토 결과postgres_fdw푸시업데이트s and삭제S 조인 외부 서버 (Etsuro Fujita) 사용

    이전에, 비 조진 만업데이트s and삭제s가 밀려났습니다.

  • 지원 추가큰 페이지Windows (Takayuki Tsunakawa, Thomas Munro)

    이것은에 의해 제어됩니다migne_pages구성 매개 변수.

E.23.3.1.6. 모니터링
  • 출력에서 ​​메모리 토토 결과을 표시log_statement_stats, log_parser_stats, log_planner_statslog_executor_stats(Justin Pryzby, Peter Eisentraut)

  • 열 추가pg_stat_activity.backend_type배경 작업자 유형을 보여 주려면 (Peter Eisentraut)

    유형도 표시됩니다PS출력.

  • makelog_autovacuum_min_duration동시에 떨어지는 로그 건너 뛰기 테이블 (Nathan Bossart)

E.23.3.1.6.1. 정보 스키마
  • addInformation_Schema테이블 제약 및 트리거와 관련된 열 (Peter Eisentraut)

    구체적으로트리거.Action_order, 트리거.Action_Reference_old_table트리거.Action_Reference_new_table이제는 가득 차 있습니다. 또한,table_constraints.시행현재 존재하지만 아직 유용하게 채워지지 않았습니다.

E.23.3.1.7. 인증
  • 서버가 더 복잡한 것을 지정하도록 토토 결과LDAP검색+바인드 모드의 사양 (Thomas Munro)

    구체적으로LDAPSEARCHFILTER조합을 토토 결과하여 패턴 일치 토토 결과LDAP속성.

  • 토토 결과LDAP암호화 된 사용 인증LDAP(Thomas Munro)

    우리는 이미 지원LDAPOverTLS토토 결과하여ldaptls = 1. 이 새로운TLS LDAP암호화 방법LDAPldapscheme = ldaps또는ldapurl = ldaps : //.

  • 로깅 향상LDAP오류 (Thomas Munro)

E.23.3.1.8. 권한
  • add기본 역할파일 시스템 액세스를 활성화하는 (Stephen Frost)

    특히 새로운 역할은 다음과 같습니다.PG_READ_SERVER_FILES, pg_write_server_filespg_execute_server_program. 이러한 역할은 이제 서버 측을 토토 결과할 수있는 사람을 제어합니다COPYfile_fdw확장. 이전에는 슈퍼 사용자만이 이러한 기능을 사용할 수 있으며 여전히 기본 동작입니다.

  • 제어 할 파일 시스템 기능에 대한 액세스 토토 결과grant/RevokeSuperuser Checks (Stephen Frost) 대신 권한

    구체적으로, 이러한 기능은 수정되었습니다 :PG_LS_DIR (), pg_read_file (), pg_read_binary_file (), pg_stat_file ().

  • usegrant/Revoke액세스를 제어하려면lo_import ()andlo_export ()(Michael Paquier, Tom Lane)

    이전에는 슈퍼 사용자만이 기능에 대한 액세스 권한이 부여되었습니다.

    컴파일 타임 옵션allow_dangerous_lo_functions제거되었습니다.

  • 비 통신에 대한 액세스를 방지 할 때 뷰를 토토 결과하지 않음postgres_fdw테이블 (Robert Haas)

    PostgreSQL슈퍼업자 만 액세스 할 수 있도록합니다postgres_fdw비밀번호가없는 테이블 (예 : via피어. 이전에 세션 소유자는 그러한 액세스를 토토 결과하기 위해 슈퍼 사용자가되어야했습니다.

  • 유효하지 않은 잠금 권한 체크인 수정업데이트 선택보기 (Tom Lane)

E.23.3.1.9. 서버 구성
  • 서버 설정 추가ssl_passphrase_command암호를 제공 할 수 있도록SSL키 파일 (Peter Eisentraut)

    또한 추가ssl_passphrase_command_supports_reloadSSL구성을 다시로드하고ssl_passphrase_command서버 구성 중에 호출.

  • 스토리지 매개 변수 추가TOAST_TUPLE_TARGET이전의 최소 튜플 길이를 제어하려면토스트스토리지가 고려됩니다 (Simon Riggs)

    기본값토스트임계 값이 변경되지 않았습니다.

  • 메모리 및 파일 크기와 관련된 서버 옵션이 바이트 단위로 지정할 수 있도록 토토 결과

    새로운 장치 접미사는B. 이것은 기존 단위에 추가됩니다KB, MB, GBandTB.

E.23.3.1.10. 쓰기 로그 (Wal)
  • 토토 결과Wal파일 크기 중에 설정할 파일 크기initdb(Beena Emerson)

    이전에 16MB 기본값은 컴파일 시간에만 변경할 수 있습니다.

  • retainWal단일 체크 포인트 (Simon Riggs)에 대한 데이터

    이전,Wal두 개의 체크 포인트에 대한 보유되었습니다.

  • 힘 스위치의 미토토 결과 부분을 채우십시오Wal향상된 압축성을위한 0을 가진 세그먼트 파일 (Chapman Flack)

E.23.3.2. 기본 백업 및 스트리밍 복제

  • 복제Truncate논리적 복제를 사용할 때의 활동 (Simon Riggs, Marco Nenciarini, Peter Eisentraut)

  • 준비된 트랜잭션 정보를 논리적 복제 가입자에게 전달합니다 (Nikhil Sontakke, Stas Kelvich)

  • 무제한 테이블, 임시 테이블 제외 및in스트리밍베이스 백업 파일 (David Steele)

    그러한 파일을 복사 할 필요가 없습니다.

  • 스트리밍베이스 백업 (Michael Banck) 중에 힙 페이지의 체크섬을 확인할 수 있습니다.

  • 가입자 (PETR Jelinek)가 소비하기보다는 복제 슬롯이 프로그래밍 방식으로 진행되도록 토토 결과합니다.

    내용을 소비 할 필요가 없을 때 복제 슬롯의 효율적인 발전이 가능합니다. 이것은에 의해 수행됩니다.pg_replication_slot_advance ().

  • 타임 라인 정보 추가backup_label파일 (Michael Paquier)

    Wal타임 라인과 일치backup_label파일 타임 라인.

  • 호스트 및 포트 연결 정보 추가PG_STAT_WAL_RECEIVER시스템보기 (Haribabu Kommi)

E.23.3.3. 유틸리티 명령

  • 토토 결과Alter Table테이블을 다시 작성하지 않고 널 비 기본값이있는 열을 추가하려면 (Andrew Dunstan, Serge Rielau)

    기본값이 상수 일 때 활성화됩니다.

  • 기본 테이블 (Yugo Nagata)을 잠그면 뷰를 잠그십시오

  • 토토 결과Alter Index표현 지수에 대한 통계 수집 목표를 설정하려면 (Alexander Korotkov, Adrien Nayrat)

    inPSQL, \ d+이제 인덱스의 통계 대상을 보여줍니다.

  • 하나에 여러 테이블을 지정하도록 토토 결과진공또는분석Command (Nathan Bossart)

    또한,에 언급 된 테이블이 있으면진공열 목록을 사용한 다음분석키워드를 제공해야합니다. 이전에,분석그러한 경우에 암시되었습니다.

  • 괄호 옵션 구문 추가분석(Nathan Bossart)

    이것은 지원되는 구문과 유사합니다진공.

  • add집계 생성골재의 최종화 함수 (Tom Lane)의 동작을 지정하는 옵션

    이것은 토토 결과자 정의 집계 함수를 최적화하고 창 함수로 작동하도록하는 데 도움이됩니다.

E.23.3.4. 데이터 유형

  • 도메인 배열 생성 토토 결과 (Tom Lane)

    이것은 또한 토토 결과array_agg ()도메인에서 토토 결과하려면

  • 복합 유형을 통한 지원 도메인 (Tom Lane)

    PL/PERL, PL/PYTHON 및 PL/TCL이 복합 도메인 기능 인수 및 결과를 처리하도록 토토 결과합니다. 또한 PL/Python 도메인 처리를 향상시킵니다.

  • 출연진 추가JSONB스칼라에서 숫자 및 부울 데이터 유형 (Anastasia Lubennikova)

E.23.3.5. 기능

  • 모두 추가창 함수SQL에 의해 지정된 프레임 옵션 : 2011 (Oliver Ford, Tom Lane)

    구체적으로 토토 결과범위토토 결과 모드선행andfollow지정된 오프셋을 플러스 내에서 그룹화하는 행을 선택하는 행을 선택합니다. 추가하다그룹피어 그룹 수를 플러스 또는 마이너스 포함시키는 모드. 프레임 제외 구문도 추가되었습니다.

  • addSHA-2해시 기능 가족 (Peter Eisentraut)

    구체적으로SHA224 (), SHA256 (), SHA384 (), SHA512 ()추가되었습니다.

  • 64 비트 비정상 해시 함수에 대한 지원 추가 (Robert Haas, Amul Sul)

  • 토토 결과to_char ()andTO_TIMESTAMP ()시간대의 오프셋을 지정하려면UTC몇 시간 및 분 (Nikita Glukhov, Andrew Dunstan)

    이것은 형식 사양으로 수행됩니다TZHandTZM.

  • 텍스트 검색 기능 추가Websearch_to_tsquery ()웹 검색 엔진 (Victor Drobny, Dmitry Ivanov)에서 사용하는 것과 유사한 쿼리 구문을 지원하는

  • 함수 추가JSON (B) _TO_TSVECTOR ()일치하기위한 텍스트 검색 쿼리 생성JSON/JSONB값 (Dmitry Dolgov)

E.23.3.6. 서버 측 언어

  • 자체 거래를 시작하고 커밋 할 수있는 SQL 레벨 절차 추가 (Peter Eisentraut)

    그들은 New로 만들어졌습니다절차 만들기명령을 통해.

    새로운Alter/DROP LOUTINE명령은 절차, 기능 및 집계를 포함하여 모든 일상적인 개체를 변경/드롭게 할 수 있습니다.

    또한 쓰기기능이제 글쓰기보다 선호절차in운영자 생성and트리거 만들기, 참조 된 객체는 프로 시저가 아닌 함수 여야하므로. 그러나 이전 구문은 여전히 ​​호환성으로 인정됩니다.

  • PL/PGSQL, PL/PERL, PL/PYTHON, PL/TCL 및에 트랜잭션 제어 추가SPI서버 측 언어 (Peter Eisentraut)

    트랜잭션 제어는 최상위 교환 수준 절차 내에서만 사용할 수 있으며 중첩doand다른 것만 포함하는 블록doand블록.

  • PL/PGSQL 복합 유형 변수를 NULL, 상수 또는 초기 값 (Tom Lane)으로 정의하는 기능 추가

  • PL/PGSQL이 동일한 세션 (Tom Lane)에서 첫 번째 기능 실행 사이에 발생하는 복합 유형 (예 : 레코드, 행)의 변경 사항을 처리하도록 토토 결과

    이전에, 그러한 상황이 오류가 발생했습니다.

  • 확장 추가JSONB_PLPYTHON변환JSONBto/from pl/python type (Anthony Bykov)

  • 확장 추가JSONB_PLPERL변환JSONBto/from pl/perl 유형 (Anthony Bykov)

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

  • 기본적으로 압축을 비활성화하도록 LIBPQ 변경 (Peter Eisentraut)

    최신 OpenSSL 버전에서 이미 압축이 비활성화되어 LiBPQ 설정이 해당 라이브러리에 영향을 미치지 않았습니다.

  • add계속옵션ECPG's언제든지성명서 (Vinayak Pokale)

    이것은 C를 생성합니다.계속명령문, 지정된 조건이 발생할 때 포함 된 루프의 상단으로 돌아 가기.

  • ATECPGOracle Pro*C 스타일 처리를 활성화하는 모드.

    이 모드는-c.

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

E.23.3.8.1. PSQL
  • addPSQL명령\ gdesc쿼리 토토 결과에 열의 이름과 유형을 표시하려면 (Pavel Stehule)

  • addPSQL쿼리 활동 및 오류를보고하는 변수 (Fabien Coelho)

    특히, 새로운 변수는입니다.오류, sqlstate, row_count, last_error_messagelast_error_sqlstate.

  • 토토 결과PSQL변수의 존재를 테스트하려면 (Fabien Coelho)

    특히 구문: ? variable_name변수의 존재를 AN에서 테스트 할 수 있도록합니다.\ if진술.

  • 환경 토토 결과 변수psql_pager제어PSQL'S Pager (Pavel Stehule)

    이것은 토토 결과PSQL의 기본 호출기는 다른 응용 프로그램의 호출기에서 별도의 환경 변수로 지정됩니다.Pager여전히 영광입니다psql_pager설정되지 않았습니다.

  • PSQL 제작\ d+명령은 항상 테이블의 분할 정보를 표시합니다 (Amit Langote, Ashutosh Bapat)

    이전에 파티션이없는 경우 파티션 된 테이블에 대해 파티션 정보가 표시되지 않습니다. 또한 어떤 파티션이 자체적으로 분할되어 있는지 나타냅니다.

  • PSQL암호를 제기 할 때 적절한 사용자 이름을보고합니다 (Tom Lane)

    이전에의 조합-u그리고 A에 포함 된 사용자 이름uri잘못된보고가 발생했습니다. 또한이면 암호 프롬프트 전에 토토 결과자 이름을 억제합니다.--password지정되어 있습니다.

  • 토토 결과Quitand출구출구PSQL사전 입력없이 주어진 경우 (Bruce Momjian)

    또한 종료 방법에 대한 힌트도Quitand출구입력 버퍼가 비어있는 동안 라인에서 단독으로 토토 결과됩니다. 비슷한 힌트 추가도움말.

  • makePSQLcontrol-d를 토토 결과하는 힌트\ Q라인에 혼자 입력했지만 무시 (Bruce Momjian)

    예를 들어\ Q문자열로 제공 될 때 종료되지 않습니다.

  • 탭 완료 개선Alter Index Reset/SET(Masahiko Sawada)

  • 토토 결과 인프라 추가PSQL서버 버전 (Tom Lane)을 기반으로 탭 완료 쿼리를 조정하려면

    이전에, 탭 완료 쿼리는 이전 서버에 대해 실패 할 수 있습니다.

E.23.3.8.2. pgbench
  • addpgbench널, 부울 및 일부 기능 및 연산자 (Fabien Coelho)에 대한 표현 지원

  • add\ if조건부 지원pgbench(Fabien Coelho)

  • 비 사용 토토 결과ASCII문자pgbench가변 이름 (Fabien Coelho)

  • addpgbench옵션-Init-Steps수행 된 초기화 단계를 제어하려면 (Masahiko Sawada)

  • 대략 zipfian 분포 무작위 생성기를 추가pgbench(Alik Khilazhev)

  • 임의의 시드를 설정하도록 토토 결과pgbench(Fabien Coelho)

  • 토토 결과pgbenchpow ()andpower ()(Raúl Marín Rodríguez)

  • 해싱 함수 추가pgbench(Ildar Musin)

  • makepgbench토토 결과할 때 더 정확한 통계-latency-limitand-레이트(Fabien Coelho)

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

  • 옵션 추가PG_BASEBACKUP명명 된 복제 슬롯 (Michael Banck)을 생성합니다.

    옵션-Create-Slot지명 된 복제 슬롯을 만듭니다 (-슬롯)시기Wal스트리밍 방법 (-wal-method = stream) 토토 결과됩니다.

  • 토토 결과initdb그룹 설정 데이터 디렉토리에 대한 액세스를 읽습니다 (David Steele)

    이것은 새로운 InitDB 옵션으로 달성됩니다-XLAXLOGROUP-ACCESS. 관리자는 INTDB를 실행하기 전에 빈 데이터 디렉토리에서 그룹 권한을 설정할 수도 있습니다.data_directory_mode데이터 디렉토리 그룹 권한을 읽을 수 있습니다.

  • addpg_verify_checksums오프라인에서 데이터베이스 체크섬을 확인하는 도구 (Magnus Hagander)

  • 토토 결과PG_RESETWAL변경하려면Wal-wal-segsize(Nathan Bossart)

  • 긴 옵션 추가PG_RESETWALandPG_CONTROLDATA(Nathan Bossart, Peter Eisentraut)

  • addpg_receivewal옵션-no-sync동기 방지Wal쓰기, 테스트를 위해 (Michael Paquier)

  • addpg_receivewal옵션--endpos언제 지정하려면Wal수용 중지 (Michael Paquier)

  • 토토 결과PG_CTL보내기SigkillProcesses (Andres Freund) 신호

    이것은 가능한 오용에 대한 우려로 인해 이전에 지원되지 않았습니다.

  • |pg_rewind(Michael Paquier)

  • 예방pg_rewindas as에서루트(Michael Paquier)

E.23.3.9.1. pg_dump, pg_dumpall, PG_RESTORE
  • addpg_dumpall옵션-encoding출력 인코딩 제어 (Michael Paquier)

    pg_dump이미이 옵션이 있습니다.

  • addpg_dump옵션-Load-Via-Partition-Root원래 파티션 (Rushabh Lathia) 대신 파티션의 루트 테이블에 데이터를로드하는 데 강제

    이것은로드 될 시스템에 다른 콜레이션 정의 또는 엔지니어를 갖는 경우 유용하며, 이전과 다른 파티션에 행을 저장해야 할 수도 있습니다..

  • 덤프 및 복원을 억제하는 옵션 추가 데이터베이스 개체 댓글 (Robins Tharakan)

    새로운pg_dump, pg_dumpallPG_RESTORE옵션은-no-comments.

E.23.3.10. 소스 코드

  • addPGXS포함 파일 설치 지원 (Andrew Gierth)

    이것은 다른 모듈에 의존하는 확장 모듈 생성을 지원합니다. 이전에는 종속 모듈이 참조 된 파일을 찾을 수있는 쉬운 방법이 없었습니다.Contrib데이터 유형을 정의하는 모듈은 관련 파일을 설치하도록 조정되었습니다. 또한 PL/PERL 및 PL/PYTHON은 이제 해당 언어의 변환 모듈 작성을 지원하기 위해 포함 파일을 설치합니다.

  • installerrcodes.txt확장자가 알려진 오류 코드 목록에 액세스하도록 토토 결과PostgreSQL(Thomas Munro)

  • 문서를 문서로 변환XML(Peter Eisentraut, Alexander Lakhin, Jürgen Purtz)

    파일 이름은 여전히 ​​an을 사용합니다.SGML뒤 분기와의 호환성을위한 확장.

  • usestdbool.h유형을 정의하려면bool가장 적합한 플랫폼에서 가장 (Peter Eisentraut)

    이것은 포함 해야하는 확장 모듈에 대한 코딩 위험을 제거합니다stdbool.h.

  • 초기 시스템 카탈로그 내용이 정의되는 방식 (John Naylor)

    초기 데이터는 이제 PERL 데이터 구조에 표시되어 기계적으로 훨씬 쉽게 조작하는 것이 훨씬 쉽습니다.

  • 인용 된 값 목록 (Tom Lane)을 취하는 사용자 정의 서버 매개 변수 생성을 방지합니다.

    확장이로드되기 전에도 매개 변수의 속성에 대한 지식이 필요하기 때문에 현재 지원할 수 없습니다.

  • 사용할 때 채널 바인딩을 사용하는 기능 추가Scram인증 (Michael Paquier)

    채널 바인딩은 중간의 공격을 방지하기위한 것이지만Scram활성화되지 않으면 방해 할 수 없습니다. 불행히도 LIBPQ에서는 그렇게 할 방법이 없습니다.

  • 배경 작업자가 일반적으로 연결을 토토 결과하지 않는 데이터베이스에 첨부하도록 토토 결과 (Magnus Hagander)

  • 하드웨어 지원 추가CRC계산ARMV8(Yuqi Gu, Heikki Linnakangas, Thomas Munro)

  • OID (Andres Freund)의 내장 기능의 속도를 높이십시오

    이전 바이너리 검색은 조회 배열로 대체되었습니다.

  • 쿼리 토토 결과 구성 속도 업 속도 (Andres Freund)

  • 시스템 캐시에 대한 액세스 속도 향상 (Andres Freund)

  • 직렬 할당/거래에 최적화 된 세대 메모리 할당 추가 (Tomas Vondra)

    이것은 논리적 디코딩에 대한 메모리 토토 결과량을 줄입니다.

  • 계산 만들기pg_class.reltuplesby진공계산에 의한 일관성분석(Tomas Vondra)

  • 사용하려면 업데이트perltidy버전20170521(Tom Lane, Peter Eisentraut)

E.23.3.11. 추가 모듈

  • 확장 토토 결과pg_prewarm시작시 이전 공유 버퍼 컨텐츠를 복원하려면 (Mithun Cy, Robert Haas)

    이것은pg_prewarm공유 버퍼의 관계 및 블록 번호 데이터를 서버 작동 중에 때때로 디스크에 저장하고 종료시.

  • addPG_TRGM기능strict_word_similarity ()전체 단어의 유사성을 계산하려면 (Alexander Korotkov)

    함수Word_Similarity ()이미이 목적을 위해 존재했지만 비슷한 단어의 부분을 찾도록 설계되었지만strict_word_similarity ()전체 단어와 유사성을 계산합니다.

  • 토토 결과btree_ginto Indexbool, BPCHAR, 이름andUUID데이터 유형 (Matheus oliveira)

  • 토토 결과큐브andSEGGIST 인덱스 (Andrey Borodin)를 토토 결과하여 인덱스 전용 스캔을 수행하는 확장

  • ~>운영자 (Alexander Korotkov)

    이것은 하강 순서로 좌표를 찾을 때 KNN-Gist 검색에 유용합니다.

  • 베트남어 편지 추가Unaccent확장 (Dang Minh Huong, Michael Paquier)

  • 향상Amcheck각 힙 튜플이 인덱스 항목 (Peter Geoghegan)이 있는지 확인하려면

  • HATEadminpack새 기본 파일 시스템 액세스 역할 (Stephen Frost) 사용

    이전에 슈퍼 사용자 만 호출 할 수 있습니다adminpack기능; 이제 역할 권한이 점검됩니다.

  • 넓은pg_stat_statement의 쿼리 ID에서 64 비트 (Robert Haas)

    이것은 쿼리 ID 해시 충돌 가능성을 크게 줄입니다. 쿼리 ID는 이제 잠재적으로 음수 값으로 표시 될 수 있습니다.

  • 제거Contrib/Start-Scripts/OSX스크립트는 더 이상 권장되지 않기 때문에 (토토 결과Contrib/Start-Scripts/MacOS대신) (Tom Lane)

  • 제거Chkpass확장 (Peter Eisentraut)

    이 확장은 더 이상 사용 가능한 보안 도구 또는 확장자 작성 방법의 예로 간주되지 않습니다.

E.23.4. 감사의 말

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

Abhijit Menon-Sen
Adam Bielanski
Adam Brightwell
Adam Brusselback
Aditya Toshniwal
adrián escoms
Adrien Nayrat
Akos Vandra
Aleksander Alekseev
Aleksandr Parfenov
Alexander Korotkov
Alexander Kukushkin
Alexander Kuzmenkov
Alexander Lakhin
Alexandre Garcia
Alexey Bashtanov
Alexey Chernyshov
Alexey Kryuchkov
Alik Khilazhev
Álvaro Herrera
Amit Kapila
Amit Khandekar
Amit Langote
Amul Sul
Anastasia Lubennikova
Andreas Joseph Krogh
Andreas Karlsson
Andreas Seltenreich
André Hänsel
Andrei Gorita
Andres Freund
Andrew Dunstan
Andrew Fletcher
Andrew Gierth
Andrew Grossman
Andrew Krasichkov
Andrey Borodin
Andrey Lizenko
Andy Abelisto
Anthony Bykov
Antoine Scemama
Anton Dignös
Antonin Houska
Arseniy Sharoglazov
Arseny Sher
Arthur Zakirov
Ashutosh Bapat
Ashutosh Sharma
Ashwin Agrawal
Asim Praveen
Atsushi Torikoshi
Badrul Chowdhury
Balazs Szilfai
Basil Bourque
Beena Emerson
Ben Chobot
Benjamin Coutu
Bernd Helmle
Blaz Merela
Brad Dejong
Brent Dearth
Brian Cloutier
Bruce Momjian
카탈린 IACOB
Chad Trabant
채프먼 플랙
Christian Duta
Christian Ullrich
Christoph Berg
Christoph Dreis
Christophe Courtois
Christopher Jones
Claudio Freire
Clayton Salem
Craig Ringer
Dagfinn Ilmari Mannsåker
Dan Vianello
Dan Watson
Dang Minh Huong
Daniel Gustafsson
Daniel Vérité
Daniel Westermann
Daniel Wood
Darafei Praliaskouski
Dave Cramer
Dave Page
David Binderman
David Carlier
David Fetter
David G. Johnston
David Gould
David Hinkle
David Pereiro Lagares
David Rader
David Rowley
David Steele
Davy Machado
Dean Rasheed
Dian Fay
Dilip Kumar
Dmitriy Sarafannikov
dmitry dolgov
Dmitry Ivanov
Dmitry Shalashov
Don Seiler
Doug Doole
Doug Rady
Edmund Horner
eiji seki
Elvis Pranskevichus
Emre Hasegeli
Erik Rijkers
Erwin Brandstetter
Etsuro Fujita
Euler Taveira
Everaldo Canuto
Fabien Coelho
Fabrízio de Royes Mello
Feike Steenbergen
Frits Jalvingh
Fujii Masao
Gao Zengqi
Gianni Ciolli
Greg Stark
Gunnlaugur Thor Biem
Guo Xiang Tan
Hadi Moshayedi
Hailong Li
Haribabu Kommi
Heath Lord
Heikki Linnakangas
Hugo Mercier
Igor Korot
Igor Neyman
Ildar Musin
ildus kurbangaliev
ioseph Kim
야곱 챔피언
Jaime Casanova
Jakob Egger
Jean-Pierre Pelletier
Jeevan Chalke
Jeevan Ladhe
Jeff Davis
Jeff Janes
제레미 에반스
Jeremy Finzel
Jeremy Schneider
Jesper Pedersen
Jim Nasby
Jimmy Yih
Jing Wang
Jobin Augustine
Joe Conway
John Gorman
John Naylor
Jon Nelson
Jon Wolski
Jonathan Allen
Jonathan S. Katz
Julien Rouhaud
Jürgen Purtz
Justin Pryzby
Kaigai Kohei
Kaiting Chen
Karl Lehenbauer
Keith Fiske
Kevin Bloch
KHA Nguyen
Kim Rose Carlsen
Konstantin Knizhnik
Kuntal Ghosh
Kyle Samson
Kyotaro Horiguchi
Lætitia avrot
Lars Kanis
Laurenz Albe
Leonardo Cecchi
Liudmila Mantrova
Lixian Zou
로이드 알빈
Luca Ferrari
Lucas Fairchild
Lukas Eder
Lukas fittl
Magnus Hagander
Mai Peng
Maksim Milyutin
Maksym Boguk
Mansur Galiev
Marc Dilger
Marco Nenciarini
Marina Polyakova
Mario de Frutos Dieguez
Mark Cave-Ayland
Mark Dilger
Mark Wood
Marko Tiikkaja
Markus Winand
Martín Marqués
Masahiko Sawada
Matheus Oliveira
Matthew Stickney
Metin Doslu
Michael Banck
Michael Meskes
Michael Paquier
Michail Nikolaev
Mike Blackwell
Minh-Quan Tran
Mithun Cy
Morgan Owens
Nathan Bossart
Nathan Wagner
Neil Conway
Nick Barnes
Nicolas Thauvin
Nikhil Sontakke
Nikita Glukhov
Nikolay Shaplov
Noah Misch
Noriyoshi Shinoda
Oleg Bartunov
Oleg Samoilov
올리버 포드
Pan Bian
Pascal Legrand
Patrick Hemmer
Patrick Krecker
Paul Bonaud
Paul Guo
Paul Ramsey
Pavan Deolasee
Pavan Maddamsetti
Pavel Golub
Pavel Stehule
Peter Eisentraut
Peter Geoghegan
Petr Jelínek
Petru-Florin Mihancea
Phil Florent
Philippe Beaudoin
Pierre Ducroquet
Piotr Stefaniak
Prabhat Sahu
PU QUN
QL Zhuo
Rafia Sabih
Rahila Syed
Rainer Orth
Rajkumar Raghuwanshi
Raúl Marín Rodríguez
Regina Obe
Richard Yen
Robert Haas
Robins Tharakan
Rod Taylor
Rushabh Lathia
Ryan Murphy
Sahap asci
Samuel Horwitz
Scott Ure
Sean Johnston
Shao Bret
Shay Rojansky
Shubham Barai
Simon Riggs
Simone Gotti
Sivasubramanian Ramasubramanian
Stas Kelvich
Stefan Kaltenbrunner
Stephen Froehlich
Stephen Frost
Steve Singer
Steven Winfield
Sven Kunze
Taiki Kondo
쓰 나와 타카 카카와
Takeshi Ideriha
Tatsuo Ishii
Tatsuro Yamada
Teodor Sigaev
Thom Brown
Thomas Kellerer
Thomas Munro
Thomas Reiss
Tobias Bussmann
Todd A. Cook
Tom Kazimiers
Tom Lane
Tomas Vondra
Tomonari Katsumata
Torsten Grust
Tushar Ahuja
Vaishnavi Prabakaran
Vasundhar Boddapati
Victor Drobny
Victor Wagner
Victor Yegorov
Vik Fearing
Vinayak Pokale
Vincent Lachenal
Vitaliy Garnashevich
Vitaly Burovoy
Vladimir Baranoff
Xin Zhang
Yi Wen Wong
Yorick Peterse
Yugo Nagata
Yuqi Gu
Yura Sokolov
Yves Goergen
Zhou Digoal