릴리스 노트

PostgreSQL

E.9. 릴리스 16#

출시 날짜 :2023-09-14

E.9.1. 개요#

PostgreSQL16은 다음을 포함하여 많은 새로운 기능과 향상을 포함합니다.

  • 병렬화 젠 토토full및 내부 권리외부해시 조인

  • 대기 서버에서 논리적 복제 젠 토토

  • 논리적 복제 가입자가 큰 트랜잭션을 병렬로 적용하도록 젠 토토

  • 모니터링 젠 토토I/O새로운 통계PG_STAT_IO보기

  • addSQL/JSON생성자 및 신원 기능

  • 진공 동결의 성능 향상

  • 사용자 및 데이터베이스 이름의 정규 표현식에 대한 지원 추가on및 사용자 이름on

위의 항목 및 기타 새로운 기능PostgreSQL16은 아래 섹션에 자세히 설명되어 있습니다.

E.9.2. 버전 16으로의 마이그레이션#

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

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

  • 할당 규칙 변경pl/pgsql바운드 커서 변수 (Tom Lane)§

    이전에는 이러한 변수의 문자열 값이 커서 할당 중 변수 이름과 일치하도록 설정되었습니다. 이제 동안 할당됩니다Open, 변수 이름과 일치하지 않습니다. 이전 동작을 복원하려면 원하는 포털 이름을 이전에 커서 변수에 할당Open.

  • anallow널 뚜렷하지 않은기본 키 인덱스 (Daniel Gustafsson)§

  • 변경Reindex 데이터베이스andReindexDB시스템 카탈로그 (Simon Riggs)에서 인덱스를 처리하지 않음§ §

    이러한 인덱스 처리는 여전히 가능합니다Reindex SystemandReindexDB -시스템.

  • 조임생성상속 및 분할 된 테이블의 표현 제한 (Amit Langote, Tom Lane)§

    부모/분할 및 자식/파티션 테이블의 열은 모두 동일한 생성 상태를 가져야하지만 이제는 실제 생성 표현이 다를 수 있습니다.

  • 제거pg_walinspect기능pg_get_wal_records_info_till_end_of_wal ()andpg_get_wal_stats_till_end_of_wal ()(Bharath Rupireddy)§

  • 서버 변수 이름 바꾸기force_parallel_modetodebug_parallel_query(David Rowley)§ §

  • 능력 제거보기 생성수동으로ON SELECT규칙 (Tom Lane)§

  • 서버 변수 제거VACUUM_DEFER_CLEANUP_AGE(Andres Freund)§

    이후 불필요했습니다hot_standby_feedbackand복제 슬롯추가되었습니다.

  • 서버 변수 제거promote_trigger_file(Simon Riggs)§

    이것은 대기를 기본으로 홍보하는 데 사용되었지만 이제는 더 쉽게 달성됩니다PG_CTL PROMOTE또는pg_promote ().

  • 읽기 전용 서버 변수 제거LC_COLLATEandLC_CTYPE(Peter Eisentraut)§

    Collations and Locales는 데이터베이스마다 다를 수 있으므로 읽기 전용 서버 변수로 사용하는 것은 도움이되지 않았습니다.

  • 역할 상속은 이제 추가 된 멤버 역할의 기본 상속 상태를 제어합니다grant(Robert Haas)§

    역할의 기본 상속 동작은 새로운 상태에서 상환 될 수 있습니다그랜트 ... 상속절. 이를 통해 회원의 상속 상태가에 설정되기 때문에 일부 역할이 아닌 일부 역할이 아닙니다.grant시간. 이전에는 회원 역할의 상속 상태가 역할의 상속 상태에 의해서만 제어되었으며, 역할의 상속 상태 변경이 이전 및 미래의 모든 회원 역할에 영향을 미쳤습니다..

  • 의 특권 제한Createrole및 다른 역할을 수정하는 능력 (Robert Haas)§ §

    이전의 역할Createrole특권은 비 슈퍼 라이저 역할의 여러 측면을 바꿀 수 있습니다. 회원 추가를 포함한 이러한 변경 사항은 이제 변경 사항을 요청하는 역할을 요구합니다관리자 옵션허가. 예를 들어, 이제를 변경할 수 있습니다.createb, 복제BYSPASSRLS해당 권한이있는 경우에만 속성입니다.

  • PostmasterBAINS (Peter Eisentraut)§

E.9.3. 변화#

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

E.9.3.1. 섬기는 사람#

E.9.3.1.1. Optimizer#
  • 더 많은 경우에 증분 정렬 젠 토토별도의(David Rowley)§ §

  • 집계의 능력 추가주문 by또는별도의사전 자산 데이터 (David Rowley)를 사용하려면§ § §

    새로운 서버 변수enable_presorted_aggregate이것을 비활성화하는 데 사용할 수 있습니다.

  • a 위의 메모리 젠 토토Union All(Richard Guo)§

  • 내부 관계 (Richard Guo)로 불가능한 입력으로 안티 조인을 수행 할 수 있도록합니다.§

  • 병렬화 젠 토토full및 내부 권리외부Hash Joins (Melanie Plageman, Thomas Munro)§

  • 정확도 향상gin인덱스 액세스 최적화 비용 (Ronan Dunklau)§

E.9.3.1.2. 일반 성능#
  • 더 효율적으로 힙 및 인덱스 페이지 (Andres Freund)를 추가 할 수 있습니다.§ §

  • 냉동 조작 중에 페이지를 수행하는 동안냉동적절한 경우 (Peter Geoghegan)§ § §

    이것은 풀 테이블 동결 진공을 덜 필요로합니다.

  • 창 함수가 더 빨리 사용하도록 젠 토토내부적으로 모드범위모드는 활성이지만 불필요한 (David Rowley)§

  • 항상 증가하는 창 함수의 최적화 젠 토토ntile (), cume_dist ()andcents_rank ()(David Rowley)§

  • 집계 함수 젠 토토String_agg ()andarray_agg ()병렬화 (David Rowley)§

  • 캐싱으로 성능 향상범위andList파티션 조회 (Amit Langote, Hou Zhijie, David Rowley)§

  • 진공 및 분석을 통해 공유 버퍼 사용량을 제어 할 수 있습니다 (Melanie Plageman)§ § §

    the진공/분석옵션은buffer_usage_limitVACUUMDB옵션은-버퍼 사용-리미트. 기본값은 서버 변수에 의해 설정됩니다VACUUM_BUFFER_USAGE_LIMIT, Autovacuum도 제어합니다.

  • 지원WAL_SYNC_METHOD = FDATASYNCon19444_19451(Thomas Munro)§

  • 젠 토토hot만 업데이트브린-인덱스 열이 업데이트 됨 (Matthias van de Meent, Josef Simanek, Tomas Vondra)§

  • 업데이트 속도 향상프로세스 제목(David Rowley)§

  • 젠 토토xid/subxid검색 및ASCII벡터 작업을 사용하기위한 문자열 감지 (Nathan Bossart, John Naylor)§ § § §

    ASCII감지는 특히 유용합니다복사. 벡터 작업은 일부 C 배열 검색에도 사용됩니다.

  • 메모리 할당 오버 헤드 감소 (Andres Freund, David Rowley)§

E.9.3.1.3. 모니터링#
  • 시스템보기 추가PG_STAT_IO트랙보기I/O통계 (Melanie Plageman)§ § § § §

  • 테이블의 마지막 순차 및 인덱스 스캔에 대한 통계 기록 (Dave Page)§

    이 정보는에 나타납니다.PG_STAT _*_ TABLESandPG_STAT _*_ Indexes.

  • 새로운 페이지로 이동하는 업데이트 된 행의 발생에 대한 통계 기록 (Corey Huinker)§

    thePG_STAT _*_ TABLES열은N_TUP_NEWPAGE_UPD.

  • 투기 잠금 정보 추가pg_locks시스템보기 (Masahiko Sawada, Noriyoshi Shinoda)§

    트랜잭션 ID가에 표시됩니다.TransactionId열 및 투기 삽입 토큰이에 표시됩니다.objid열.

  • 준비된 명령문 결과 유형의 표시 추가pg_prepared_statementsView (Dagfinn Ilmari Mannsåker)§ §

  • 구독 생성 시간에 구독 통계 항목 생성stats_reset정확합니다 (Andres Freund)§

    이전에 항목은 첫 번째 통계가보고 된 경우에만 생성되었습니다.

  • 수정I/O온도 관계에 대한 설명PG_STAT_DATABASE(Melanie Plageman)§

  • 함수 추가pg_stat_get_backend_subxact ()세션의 서브 트랜잭션 캐시 (Dilip Kumar)에보고하려면§

  • HATEpg_stat_get_backend_idset (), pg_stat_get_backend_activity ()및 관련 기능은 변하지 않는 백엔드 ID (Nathan Bossart)를 사용합니다.§

    이전에는 세션 수명 동안 인덱스 값이 변경 될 수 있습니다.

  • 특수 백엔드 유형 (Melanie Plageman)을 가진 독립형 백엔드 보고서§

  • 대기 이벤트 추가SpindelaySpinlock 수면 지연을보고합니다 (Andres Freund)§

  • 새로운 대기 이벤트 만들기dsmallocate동적 공유 메모리 할당을 기다리는 것을 나타내려면 (Thomas Munro)§

    이전 에이 유형의 대기가로보고되었습니다.dsmfillzerowrite.mmap ()할당.

  • 데이터베이스 이름 추가프로세스 제목of LogicalWal발신자 (Tatsuhiro Nakamori)§

    물리적Wal발신자는 데이터베이스 이름을 표시하지 않습니다.

  • 체크 포인트 추가 및REDO LSN정보log_checkpoints메시지 (Bharath Rupireddy, Kyotaro Horiguchi)§

  • 고객 인증서 실패 중 추가 세부 정보 제공 (Jacob Champion)§

E.9.3.1.4. 특권#
  • 사전 정의 된 역할 추가pg_create_subscription구독 생성 허가 (Robert Haas)§

  • 구독이 암호를 요구하지 않도록 젠 토토 (Robert Haas)§ § §

    이것은 옵션으로 달성됩니다password_required = false.

  • 권한 단순화잠금 테이블(Jeff Davis)§

    이전에 사용자의 수행 능력잠금 테이블다양한 잠금 레벨에서 테이블에서 실행할 수있는 권한이있는 명령에 따라 필요한 잠금 레벨로 제한되었습니다. 예를 들어,업데이트권한은 모든 잠금 레벨을 수행 할 수 있습니다액세스 공유, 잠금 수준이 낮더라도. 이제 사용자는 이미 더 큰 잠금 레벨에 대한 허가가 있다면 더 적은 잠금 수준을 발행 할 수 있습니다.

  • 젠 토토ALTER GROUP GROUP_NAME ADD USER_NAME관리자 옵션(Robert Haas)§

    이전Createrole허가가 필요했습니다.

  • 젠 토토grant사용하려면admin true/거짓구문 (Robert Haas)§

    이전에만관리자 옵션구문이 지원되었습니다.

  • 새로운 역할의 권리 또는 능력을 자동으로 상속하기 위해 다른 역할을 만드는 역할이 젠 토토역할 설정새로운 역할 (Robert Haas, Shi Yu)§ §

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

  • 사용자가 비 상금 역할의 기본 권한을 변경하지 못하게합니다 (Robert Haas)§

    이것은 이제 상속 된 역할 만 젠 토토됩니다.

  • 역할 멤버십을 부여 할 때, 부여 된 역할을 적절한 권한을 가진 역할 (Robert Haas)§

    이것은 비 부트 스트랩 슈퍼업자가 역할 멤버십을 부여하는 경우에도 요구 사항입니다.

  • 현재 사용자가 아닌 보조 사용자 (Robert Haas)를 사용하여 비 uperusers가 권한을 부여하도록 젠 토토§

    현재 사용자는 여전히 지정된 부여 된 사용자가 제공 한 충분한 권한이 있어야합니다.

  • addgrant사용 권한을 통제하려면역할 설정(Robert Haas)§

    이것은 새로운에 의해 제어됩니다그랜트 ... 세트옵션.

  • 권한을 부여한 역할에 종속성 추적 추가 (Robert Haas)§

    예를 들어, 제거관리자 옵션해당 옵션을 사용하는 특권이 있으면 실패합니다.캐스케이드의존적 권한을 취소하는 데 사용해야합니다.

  • 보조금의 종속성 추적 추가grantRecords (Robert Haas)§

    이것은을 보장합니다.pg_auth_members.Grantor값은 항상 유효합니다.

  • 여러 역할 멤버십 레코드 젠 토토 (Robert Haas)§ §

    이전에 새로운 멤버십 보조금은 보조금의 다른 측면이 일치하지 않더라도 이전 일치 회원 보조금을 제거 할 것입니다.

  • 부트 스트랩 사용자 (Robert Haas)에 대한 슈퍼 유저 권한 제거 방지§

    그러한 사용자를 복원하면 오류가 발생할 수 있습니다.

  • 젠 토토MakeClitem ()다중 특권 이름 (Robins Tharakan)을 수락하려면§

    이전에는 단일 권한 이름 만 유리select, 받아 들여졌습니다.

E.9.3.1.5. 서버 구성#
  • 지원 추가Kerberos자격 증명 대표단 (Stephen Frost)§ § § §

    서버 변수로 활성화gss_accept_delegationandlibpq연결 매개 변수GSSDELEGATION.

  • 젠 토토Scram반복 카운트 서버 변수로 설정할scram_iterations(Daniel Gustafsson)§

  • 서버 변수 관리의 성능 향상 (Tom Lane)§ §

  • 어떤 서버 변수를 재설정 할 수 있는지 제한 조임 (Masahiko Sawada)§

    이전에, 특정 변수는Transaction_isolation, 영향을받지 않았다모든 재설정, 부적절한 상황에서 개별적으로 재설정 할 수 있습니다.

  • 다양한 이동on새로운 카테고리로의 항목 (Shinya Kato)§

    이것은에 표시된 범주에도 영향을 미칩니다.PG_SETTINGS보기

  • 10 레벨 이외의 구성 파일 재귀 방지 (Julien Rouhaud)§

  • 젠 토토autovacuum지연 설정에 대한 변화를 더 자주 존중하기 위해 (Melanie Plageman)§ §

    각 관계의 시작 부분에서만 변경하기보다는 각 블록의 시작 부분에서 명예를 기호합니다.

  • 아카이브 파일의 이름이 내려 오는 제한 제거 (Nathan Bossart)§ §

    thearchive_command충돌 후 이미 구조 된 파일로 명령이 호출 될 가능성이 더 높습니다.

  • 예방archive_libraryandarchive_command동시에 설정되는지 (Nathan Bossart)§

    이전archive_library재정의archive_command.

  • 포스트 마스터가 중단 신호 (Tom Lane)로 어린이를 종료하도록 젠 토토§

    이것은 고정 된 아동 프로세스를위한 핵심 덤프를 수집 할 수 있습니다. 이것은에 의해 제어됩니다.send_abort_for_crashandsend_abort_for_kill. 우체국 장-t스위치는 이제 설정과 동일합니다send_abort_for_crash.

  • 비 기능 포스트 마스터 제거-n옵션 (Tom Lane)§

  • 서버가 역할에 대한 백엔드 슬롯을 예약하도록 젠 토토pg_use_reserved_connections멤버십 (Nathan Bossart)§

    예약 된 슬롯 수는 서버 변수에 의해 설정됩니다Reserved_Connections.

  • 젠 토토거대한 페이지최신 버전의 작업하려면Windows 10(Thomas Munro)§

    ​​이것은 최신 버전의 거대한 페이지를 활성화하는 데 필요한 특수 처리를 추가합니다Windows 10.

  • adddebug_io_direct개발자 사용 설정 (Thomas Munro, Andres Freund, Bharath Rupireddy)§ §

    주로 개발자를위한 반면WAL_SYNC_METHOD = Open_Sync/Open_Datasync직접 사용하지 않도록 수정되었습니다I/OwithWal_level = Minimal; 이것은 이제로 활성화됩니다.debug_io_direct = wal.

  • 함수 추가pg_split_walfile_name ()의 세그먼트 및 타임 라인 값을보고하려면Wal파일 이름 (Bharath Rupireddy)§ §

E.9.3.1.6. on #
  • 데이터베이스 및 역할 항목에서 정규 표현식에 대한 지원 추가on(Bertrand Drouvot)§

    정규 표현 패턴은 슬래시로 접두사됩니다. 슬래시로 시작하는 데이터베이스 및 역할 이름에서 참조하면on.

  • 사용자 콜럼 취급 개선on일치on(Jelte Fennema)§

    특히 지원 추가all, 역할 멤버십+및 선행 슬래시가있는 정규식. 이러한 패턴과 일치하는 모든 사용자 이름은 두 배로 인용해야합니다.

  • 파일 포함 젠 토토onandon(Julien Rouhaud)§

    이들은에 의해 제어됩니다포함, include_if_existsinclude_dir. 시스템보기PG_HBA_FILE_RULESandpg_ident_file_mappings이제 파일 이름을 표시합니다.

  • 젠 토토on무제한 길이 (Tom Lane)의 토큰§

  • 시스템보기에 규칙 및지도 숫자 추가PG_HBA_FILE_RULES(Julien Rouhaud)§

E.9.3.1.7. 현지화 #
  • 사용할 때 로케일에서 기본 인코딩 결정ICU(Jeff Davis)§

    이전에는 기본값이 항상UTF-8.

  • HATE데이터베이스 생성and콜라이트 만들기's로케일옵션 및initdbandcreateb -로케일옵션, 제어 비libcCollation Providers (Jeff Davis)

    이전에는 제어libc제공자.

  • 사전 정의 된 콜라주 추가유니 코드andUCS_BASIC(Peter Eisentraut)§

    이것은 경우에만 작동합니다ICU지원이 활성화되었습니다.

  • 젠 토토ICUCollation Rules Breat (Peter Eisentraut)§

    이것은를 사용하여 수행됩니다콜라이트 만들기's New규칙조항 및 새로운 옵션데이터베이스 생성, createbinitdb.

  • 젠 토토19444_19451시스템 로케일을 자동으로 가져 오기 위해 (Juan José Santamaría Flecha)§

    이전에만ICU로케일을 가져올 수 있습니다19444_19451.

E.9.3.2. 논리 복제 #

  • 젠 토토논리 디코딩대기 (Bertrand Drouvot, Andres Freund, Amit Khandekar)§ § §

    스냅 샷Wal논리 슬롯 생성에는 레코드가 필요하지만 대기에서는 생성 할 수 없습니다. 지연을 피하기 위해 새로운 기능pg_log_standby_snapshot ()그러한 기록을 생성 할 수 있습니다.

  • 논리적 디코딩 게시자가 변경 사항을 전송하는 방법과 가입자 적용 방법 (Shi Yu)을 제어하기 위해 서버 변수 추가를 제어합니다.§ § §

    변수는입니다.debug_logical_replication_streaming.

  • 논리적 복제 젠 토토 초기 테이블 동기화 이진 형식 (Melih Mutlu)로 행을 복사하십시오.§

    이것은 이진으로 표시된 구독에만 가능합니다.

  • 논리적 복제의 병렬 적용 젠 토토 (Hou Zhijie, Wang Wei, Amit Kapila)§ § §

    the구독 생성 스트리밍옵션은 지금 지원병렬병렬 작업자에 의한 대규모 거래를 적용 할 수 있습니다. 병렬 작업자의 수는 새로운 서버 변수에 의해 제어됩니다max_parallel_apply_workers_per_subscription. 대기 이벤트LogicalParallelApplyMain, LogicalParallelApplyStateChangelogicalApplySendData도 추가되었습니다. 열leader_pid시스템보기에 추가되었습니다pg_stat_subscription병렬 활동을 추적하려면

  • 성능 향상논리 복제 적용기본 키없이 (Onder Kalaci, Amit Kapila)§

    구체적으로복제 아이덴티티 풀이제 테이블을 순차적으로 스캔하여 경기를 찾는 대신 btree 인덱스를 사용할 수 있습니다.

  • 논리적 복제 가입자가 원산지가없는 변경 만 처리하도록 젠 토토합니다 (Vignesh C, Amit Kapila)§ §

    이것은 복제 루프를 피하는 데 사용할 수 있습니다. 이것은 새로운에 의해 제어됩니다.구독 생성 ... Origin옵션.

  • 논리적 복제 수행selectandDML테이블 소유자로서의 행동 (Robert Haas)§ §

    이것은 보안을 향상시키고 이제 구독 소유자가 수퍼 유행자이거나 가질 수 있어야합니다역할 설정복제 세트의 테이블을 소유하는 모든 역할에 대한 권한. 구독자로서 모든 운영을 수행하는 이전의 동작은 구독으로 활성화 될 수 있습니다run_as_owner옵션.

  • HATEWal_Retrieve_Retry_Interval서사 별 (Nathan Bossart)로 작동합니다§

    이전에 재 시도 시간이 전 세계적으로 적용되었습니다. 이것은 또한 대기 이벤트를 추가합니다LogicalReplauncherDsaandLogicalReplauncherhash.

E.9.3.3. 유틸리티 명령#

  • add설명옵션generic_plan매개 변수화 된 쿼리에 대한 일반 계획을 표시하려면 (Laurenz Albe)§

  • 젠 토토복사열에 매핑 할 값기본값(이스라엘 바스 루비오)§

  • 젠 토토COPY배치에 행을 추가하기 위해 외국 테이블에 (Andrey Lepikhov, Etsuro Fujita)§

    이것은에 의해 제어됩니다postgres_fdw옵션batch_size.

  • 젠 토토스토리지지정할 유형테이블 생성(Teodor Sigaev, Aleksander Alekseev)§ §

    이전에만Alter Table이것을 통제 할 수 있습니다.

  • 젠 토토Truncate Trigger외국 테이블에서 (Yugo Nagata)§

  • 젠 토토진공andVACUUMDB전용 프로세스토스트테이블 (Nathan Bossart)§

    이것은진공끄기Process_Main또는 byVACUUMDB사용-No-Process-Main옵션.

  • add진공모든 건너 뛰거나 업데이트하는 옵션Frozen통계 (Tom Lane, Nathan Bossart)§

    옵션은skip_database_statsand전용 _database_stats.

  • 변경Reindex 데이터베이스andReindex System더 이상 인수가 필요하지 않으려면 (Simon Riggs)§ §

    이전에 데이터베이스 이름을 지정해야했습니다.

  • 젠 토토통계 작성지정되지 않은 경우 통계 이름을 생성하려면 (Simon Riggs)§

E.9.3.4. 데이터 유형#

  • 비 설명 젠 토토정수 리터럴(Peter Eisentraut)§

    예를 들어0x42F, 0o2730B100101.

  • 젠 토토숫자모든 크기 (Dean Rasheed)의 16 진수, 옥탈 및 이진 정수를 처리하려면§

    이전에는 6 바이트 정수만이 이러한 비 설명 기지로 지원되었습니다.

  • 정수 및 숫자에서 밑줄 젠 토토상수(Peter Eisentraut, Dean Rasheed)§

    이것은 긴 숫자의 숫자에 대한 가독성을 향상시킬 수 있습니다.

  • 철자 수락+InfinitydateTime 입력 (Vik Fearing)§

  • 사양을 방지epochandInfinityDateTime Strings의 다른 필드와 함께 (Joseph Koshakow)§

  • 양식의 날짜 입력에 대한 문서화되지 않은 지원 제거YYearMMonthDday(Joseph Koshakow)§

  • 함수 추가PG_INPUT_IS_VALID ()andPG_INPUT_ERROR_INFO ()유형 변환 오류를 확인하려면 (Tom Lane)§ §

E.9.3.5. 일반 쿼리#

  • 서브 쿼리 젠 토토Fromaliases를 생략하려는 조항 (Dean Rasheed)§

  • 향상된 숫자 리터럴에 대한 지원 추가SQL/JSONPaths (Peter Eisentraut)§

    예를 들어, 16 진수, 옥탈 및 이진 정수를 젠 토토하고 숫자 사이의 밑줄을 젠 토토합니다.

E.9.3.6. 기능#

  • addSQL/JSON생성자 (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Amit Langote)§

    새로운 기능JSON_ARRAY (), json_arrayagg (), json_object ()json_objectagg ()의 일부입니다SQL표준.

  • addSQL/JSON개체 검사 (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Amit Langote, Andrew Dunstan)§

    theis json수표에는 값, 어레이, 객체, 스칼라 및 고유 키에 대한 검사가 포함됩니다.

  • 젠 토토JSON벡터 작업을 사용하기위한 문자열 구문 분석 (John Naylor)§

  • 전체 텍스트 강조 표시 기능 개선ts_headline ()for또는andnotExpressions (Tom Lane)§

  • 추가, 빼고 생성 할 기능 추가Timestamptz67156_67222§

    함수는입니다.date_add (), date_subtract ()Generate_Series ().

  • 변경date_trunc (단위, timestamptz, time_zone)불변의 기능 (Przemyslaw sztoch)§

    이 기능을 사용하여 표현식 인덱스를 생성 할 수 있습니다.

  • 서버 변수 추가System_user(Bertrand Drouvot)§

    이것은 인증 방법과 인증 된 사용자를보고합니다.

  • 함수 추가array_sample ()andarray_shuff ()(Martin Kalcher)§

  • 집계 함수 추가Any_Value ()세트에서 값을 반환합니다 (Vik Fearing)§

  • 함수 추가random_normal ()정상적으로 분산 된 랜덤 숫자 (Paul Ramsey)를 공급하려면§

  • 오류 기능 추가erf ()그리고 그 보완erfc ()(Dean Rasheed)§

  • 숫자의 정확도 향상power ()정수 지수 (Dean Rasheed)§

  • addxmlserialize ()옵션들여 쓰기출력 (Jim Jones)을 예쁘게 인쇄하려면§

  • 변경pg_collation_actual_version ()기본 Collation (Jeff Davis)의 합리적인 값을 반환하려면§

    이전에 반품NULL.

  • 젠 토토pg_read_file ()andpg_read_binary_file ()누락 된 파일을 무시하려면 (Kyotaro Horiguchi)§

  • 바이트 사양 추가 (B) topg_size_bytes ()(Peter Eisentraut)§

  • 젠 토토to_reg* 숫자를 젠 토토하는 기능OID입력 (Tom Lane)§

E.9.3.7. pl/pgsql #

E.9.3.8. libpq #

  • addlibpq연결 옵션require_auth젠 토토 가능한 인증 방법 목록 (Jacob Champion)을 지정하려면§

    이것은 특정 인증 방법을 젠 토토하지 않는 데 사용될 수 있습니다.

  • 배수 젠 토토libpq-무작위로 선택할 명성 된 호스트 (Jelte Fennema)§ §

    이것은 활성화load_balance_hosts = random로드 밸런싱에 사용할 수 있습니다.

  • addlibpq옵션SSLCERTMODE클라이언트 인증서의 전송을 제어하려면 (Jacob Champion)§

    옵션 값은입니다.비활성화, 젠 토토요구.

  • 젠 토토libpq인증서 확인에 시스템 인증서 풀을 사용하려면 (Jacob Champion, Thomas Habets)§

    이것은 활성화SSLROOTCERT = SYSTEMsslmode = verify-full.

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

  • 젠 토토ECPGunreserved와 일치하는 typedef 이름을 사용하는 변수 선언SQL키워드 (Tom Lane)§

    이 변경 사항은 C Typedef 이름이 나중에 키워드로 처리되는 것을 일치하는 키워드를 방지합니다Exec SQL블록.

E.9.3.9.1. PSQL #
  • 젠 토토PSQL확장 형식으로 헤더 라인의 최대 너비를 제어하려면 (Platon Pronko)§

    이것은에 의해 제어됩니다xheader_width.

  • addPSQL명령\ drg역할 멤버십 세부 사항을 보여주기 위해 (Pavel Luzanov)§ §

    the회원출력 열이 제거되었습니다\ duand\ dg이 새로운 명령 이이 정보를 더 자세히 표시하기 때문에

  • 젠 토토PSQL'S Access Privilege Commands System Objects (Nathan Bossart)§ §

    옵션은\ dpsand\ zs.

  • add외국지정PSQL \ d+외국 테이블 어린이 및 파티션 (Ian Lawrence Barwick)§

  • 예방\ df+함수 소스 코드 표시 (Isaac Morland)§

    기능 본체는 더 쉽게 볼 수 있습니다\ sf.

  • 젠 토토PSQL확장 쿼리 프로토콜 (Peter Eisentraut)을 사용하여 쿼리를 제출하려면§

    그러한 쿼리에 인수 전달은 새로운 것을 사용하여 수행됩니다PSQL \ bind명령.

  • 젠 토토PSQL \ watch실행 수를 제한하려면 (Andrey Borodin)§

    the\ watch지정할 때 옵션을 지정할 수 있습니다.

  • 잘못된 값 감지PSQL \ watch, ZERO가 지연을 지정하도록 젠 토토 (Andrey Borodin)§

  • 젠 토토PSQL쉘 명령 및 쿼리의 종료 상태를 얻는 스크립트 (Corey Huinker, Tom Lane)§ §

    새로운PSQL제어 변수는shell_errorandshell_exit_code.

  • 다양한PSQL탭 완료 개선 (Vignesh C, Aleksander Alekseev, Dagfinn Ilmari Mannsåker, Shi Yu, Michael Paquier, Ken Kato, Peter Smith)§ § § § § § § § § § § §

E.9.3.9.2. pg_dump #
  • addpg_dump덤프 아동 테이블 및 파티션 컨트롤 (Gilles Darold)§

    새로운 옵션은-타이블 앤 children, -exclude-table and-children-exclude-table-data and-Children.

  • addLZ4andZstandard압축pg_dump(Georgios Kokolatos, Justin Pryzby)

  • 젠 토토pg_dumpandPG_BASEBACKUP사용하려면Long압축 모드 (Justin Pryzby)§ § § §

  • 개선pg_dump보다 일관된 압축 구문 (Georgios Kokolatos)을 수락하려면§

    옵션과 같은-코프 프레스 = gzip : 5.

E.9.3.10. 서버 응용 프로그램#

  • addinitdb지속 시간 동안 서버 변수를 설정하는 옵션initdb및 모든 향후 서버가 시작 (Tom Lane)§

    옵션은입니다.-C 이름 = value.

  • 옵션 추가CreateUser더 많은 사용자 옵션을 제어하려면 (Shinya Kato)§ §

    특히, 새로운 옵션은 유효한 날짜를 제어하고, 행 수준 보안을 우회하고, 역할 멤버십을 제어합니다.

  • 감가 상각CreateUser옵션-롤(Nathan Bossart)§ §

    이 옵션은 새로운 것과 쉽게 혼동 될 수 있습니다CreateUser역할 멤버십 옵션이므로 옵션-멤버동일한 기능으로 추가되었습니다. 그만큼-롤옵션을 사용할 수 있습니다.

  • 제어 젠 토토VACUUMDB스키마 처리 (Gilles Darold)§

    옵션에 의해 제어됩니다--- 스키마and--exclude-schema.

  • 새로운 사용진공성능을 향상시키는 옵션VACUUMDB(Tom Lane, Nathan Bossart)§

  • HATEpg_upgrade새 클러스터의 로케일 및 인코딩 설정 (Jeff Davis)§

    이것은 동일한 로케일 및 인코딩 설정으로 새 클러스터를 생성해야한다는 요구 사항을 제거합니다.

  • addpg_upgrade기본 전송 모드를 지정하는 옵션 (Peter Eisentraut)§

    옵션은입니다.--copy.

  • 개선PG_BASEBACKUP숫자 압축 옵션을 수락하려면 (Georgios Kokolatos, Michael Paquier)§

    옵션과 같은-코프 프레스 = Server-5이제 지원되었습니다.

  • 고정PG_BASEBACKUP에 저장된 테이블 스페이스를 처리하려면pgdata디렉토리 (Robert Haas)§

  • addpg_waldump옵션--- SAVE-FULLPAGE전체 페이지 이미지를 덤프하려면 (David Christensen)§

  • 젠 토토pg_waldump옵션-t/-타임 라인16 진수 값을 받아들이려면 (Peter Eisentraut)§

  • 진행보고에 대한 지원 추가pg_verifybackup(Masahiko Sawada)§

  • 젠 토토pg_rewind타임 라인 변경을 올바르게 추적하려면 (Heikki Linnakangas)§ §

    이전 IFpg_rewind타임 라인 스위치 후에 실행되었지만 체크 포인트가 발행되기 전에 되감기가 불필요하다고 잘못 판단 할 수 있습니다..

  • HATEpg_receivewalandPG_RECVLOGICAL깨끗하게 종료Sigterm(Christoph Berg)§

    이 신호는 종종에 의해 사용됩니다.SystemD.

E.9.3.11. 소스 코드#

  • buildICU기본적으로 지원 (Jeff Davis)§

    이것은 제거빌드 플래그 -with-iCu그리고 플래그 추가-without-icu.

  • SSE2에 대한 지원 추가 (streamingsimd확장 2) X86-64 아키텍처에서의 벡터 작동 (John Naylor)§

  • 고급 지원 추가simd(단일 명령 다중 데이터) (네온) 지침ARM아키텍처 (Nathan Bossart)§

  • HATE19444_19451바이너리가 세워진MSVCuseRandomizedBaseaddress (ASLR) (Michael Paquier)§

    이것은 이미 활성화되었습니다Mingw빌드.

  • 확장 라이브러리가 기본적으로 기호를 내보내는 것을 방지합니다 (Andres Freund, Tom Lane)§ §

    코어 백엔드 또는 기타 확장에서 호출 해야하는 기능은 이제 명시 적으로 표시되어야합니다pgdllexport.

  • 요구Windows 10또는 최신 버전 (Michael Paquier, Juan José Santamaría Flecha)§

    이전Windows VistaandWindows XP지원되었습니다.

  • 요구Perl버전 5.14 이상 (John Naylor)§

  • 요구Bison버전 2.3 이상 (John Naylor)§

  • 요구Flex버전 2.5.35 이상 (John Naylor)§

  • 요구MITKerberos forGSSAPI지원 (Stephen Frost)§

  • 지원 제거Visual Studio 2013(Michael Paquier)§

  • 지원 제거hp-ux(Thomas Munro)§

  • 지원 제거HP/Intel Itanium(Thomas Munro)§

  • 지원 제거M68K, M88K, M32RSuperh CPU아키텍처 (Thomas Munro)§ §

  • 제거libpq지원SCM자격 증명 인증 (Michael Paquier)§

    이 인증 방법에 대한 백엔드 지원이 제거되었습니다postgressql 9.1.

  • addMeson빌드 시스템 (Andres Freund, Nazir Bilal Yavuz, Peter Eisentraut)§

    이것은 결국를 대체 할 것입니다.autoconfand19444_19451-기반MSVC빌드 시스템.

  • 위치의 제어 젠 토토OpenSSL빌드 시스템 (Peter Eisentraut)에서 사용하는 이진§

    찾기OpenSSL프로그램 A구성또는Meson옵션

  • 작은 테이블 세그먼트 크기 (Andres Freund)를 테스트 할 수 있도록 빌드 옵션 추가§

    빌드 옵션은입니다.-with-segsize-blocksand-dsegsize_blocks.

  • addPgindent옵션 (Andrew Dunstan)§ § § § § § §

    새로운 옵션은--show-diff, --- 실용-디프, --- 커밋-help, 그리고 다중 젠 토토--exclude옵션. 또한 typedef 파일을 명시 적으로 지정해야합니다.-코드-베이스and-빌드도 제거되었습니다.

  • addPG_BSD_INDENT메인 트리에 대한 소스 코드 (Tom Lane)§

  • 개선make_ctagsandmake_etags(Yugo Nagata)§

  • 조정pg_attribute효율을위한 열 (Peter Eisentraut)§

E.9.3.12. 추가 모듈#

  • 부울 열에서 확장 기반 인덱스 사용 개선 (Zongliang Quan, Tom Lane)§

  • Daitch-Mokotoff Soundex에 대한 지원 추가fuzzystrmatch(Dag Lem)§

  • 젠 토토auto_explain매개 변수화 된 문으로 전달 된 로그 값 (dagfinn ilmari mannsåker)§

    이것은 서버 측 사용 쿼리에 영향을 미칩니다준비/execute및 클라이언트 측 구획/바인드. 로깅은에 의해 제어됩니다.auto_explain.log_parameter_max_length; 기본적으로 쿼리 매개 변수는 길이 제한없이 기록됩니다.

  • HATEauto_explain'slog_verbose모드 명예 값compute_query_id(Atsushi Torikoshi)§

    이전에도compute_query_id활성화,log_verbose쿼리 식별자를 표시하지 않았습니다.

  • 최대 길이 변경ltree256에서 1000까지의 레이블 및 하이픈 (Garen Torikian)을 젠 토토합니다§

  • HATEpg_stat_statements유틸리티 명령 (Michael Paquier)에 사용되는 상수 정상화§

    이전에 상수가 자리 표시 자 대신 나타났습니다 (예 :$1.

  • addpg_walinspect기능pg_get_wal_block_info ()보고서Wal블록 정보 (Michael Paquier, Melanie Plageman, Bharath Rupireddy)§ § § §

  • 어떻게 변경 방법pg_walinspect기능PG_GET_WAL_RECORDS_INFO ()andpg_get_wal_stats ()해석 종료LSNS (Bharath Rupireddy)§

    이전에 종료LSN존재하지 않는 대표Wal위치는 오류가 발생하지만 이제는의 끝으로 해석됩니다.Wal.

  • 자세한 설명 추가Wal레코드에서pg_walinspectandpg_waldump(Melanie Plageman, Peter Geoghegan)§ § § §

  • addPageInspect기능bt_multi_page_stats ()여러 페이지에 대한 통계를보고하려면 (Hamid Akhtar)§

    이것은와 유사합니다.bt_page_stats ()다양한 페이지에보고 할 수없는 경우를 제외하고

  • 빈 범위 출력 열 추가PageInspect기능brin_page_items ()(Tomas Vondra)§

  • 더 유연하게 아카이브 모듈을 재 설계 (Nathan Bossart)§

    초기화 변경 사항은 이전 버전의 우편둥이에 대해 작성된 모듈이 업데이트되어야합니다.

  • 부정확 한 수정pg_stat_statements행 추적 확장 쿼리 프로토콜 문 (Sami Imseih)§

  • addpg_buffercache기능pg_buffercache_usage_counts ()사용법을보고하려면 (Nathan Bossart)§

  • addpg_buffercache기능pg_buffercache_summary ()요약 된 버퍼 통계 (melih mutlu) 보고서§

  • 새로운 구문을 사용하여 확장 스크립트에서 필요한 확장의 스키마를 참조 할 수 있도록합니다.@extschema : reference_extension_name@(Regina Obe)§

  • 필요한 확장을 사용하지 않을 수 있도록no_relocate(Regina Obe)§

    이것은 젠 토토@extschema : reference_extension_name@확장의 수명 동안 상수로 취급됩니다.

E.9.3.12.1. postgres_fdw #
  • 젠 토토postgres_fdw병렬로 중단하려면 (Etsuro Fujita)§

    이것은 활성화postgres_fdw옵션Parallel_Abort.

  • make분석ON 외국postgres_fdw테이블 더 효율적 (Tomas Vondra)§

    thepostgres_fdw옵션Analyze_Sampling샘플링 방법을 제어합니다.

  • 배송 제한Reg* 상수 유형postgres_fdwShippable (Tom Lane)으로 표시된 내장 개체 또는 확장자를 참조하는 사람들에게§

  • HATEpostgres_fdwanddblink연결 설정 중 인터럽트 핸들 (Andres Freund)§

E.9.4. 감사의 말#

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

Abhijit Menon-Sen
Adam Mackler
Adrian Klaver
Ahsan Hadi
Ajin Cherian
Ajit awekar
Alan Hodgson
Aleksander Alekseev
Alex Denman
Alex Kozhemyakin
Alexander Korolev
Alexander Korotkov
Alexander Lakhin
Alexander Pyhalov
Alexey Borzov
Alexey Ermakov
Alexey Makhmutov
Álvaro Herrera
Amit Kapila
Amit Khandekar
Amit Langote
Amul Sul
Anastasia Lubennikova
Anban Company
Andreas Dijkman
Andreas Karlsson
Andreas Scherbaum
Andrei Zubkov
Andres Freund
Andrew Alsup
Andrew Bille
Andrew Dunstan
Andrew Gierth
Andrew Kesper
Andrey Borodin
Andrey Lepikhov
Andrey Sokolov
Ankit Kumar Pandey
ante kresic
Anton Melnikov
Anton Sidyakin
Anton Voloshin
Antonin Houska
Arne Roland
Artem Anisimov
Arthur Zakirov
Ashutosh Bapat
Ashutosh Sharma
Asim Praveen
Atsushi Torikoshi
Ayaki Tachikake
Balazs Szilfai
Benoit Lobréau
Bernd Helmle
Bertrand Drouvot
Bharath Rupireddy
Bilva Sanaba
Bob Krier
Boris Zentner
브래드 니콜슨
Brar Piening
Bruce Momjian
Bruno da Silva
Carl Sopchak
Cary Huang
Changhong Fei
Chris Travers
Christoph Berg
Christophe Pettus
Corey Huinker
Craig Ringer
Curt Kolovson
DAG LEM
Dagfinn Ilmari Mannsåker
Daniel Gustafsson
Daniel Vérité
Daniel Watzinger
Daniel Westermann
Daniele Varrazzo
Daniil Anisimov
Danny Shemesh
Dave Page
David Christensen
David G. Johnston
David Geier
David Gilman
David Kimura
David Rowley
David Steele
David Turon
David Zhang
Davinder Singh
Dean Rasheed
Denis Laxalde
Dilip Kumar
Dimos Stamatakis
Dmitriy Kuzmin
dmitry astapov
dmitry dolgov
Dmitry Koval
Dong Wook Lee
Dongming Liu
Drew Devault
Duncan Sands
Ed Maste
Egor Chindyaskin
Ekaterina Kiryanova
Elena Indrupskaya
Emmanuel Quincerot
Eric Mutta
Erik Rijkers
erki eessaar
Erwin Brandstetter
Etsuro Fujita
Eugeny Zhuzhnev
Euler Taveira
Evan Jones
Evgeny Morozov
Fabrízio de Royes Mello
Farias de Oliveira
Florin Irion
Franz-Josef Färber
Garen Torikian
Georgios Kokolatos
Gilles Darold
Greg Stark
Guillaume Lelarge
Gunnar Bluth
Gunnar Morling
Gurjeet Singh
Haiyang Wang
Haiying Tang
Hamid Akhtar
Hans Buschmann
Hao Wu
Hayato Kuroda
Heath Lord
Heikki Linnakangas
Himanshu Upadhyaya
Hisahiro Kauchi
Hongyu Song
Hubert Lubaczewski
Hung Nguyen
Ian Barwick
Ibrar Ahmed
Ilya Gladyshev
Ilya Nenashev
Isaac Morland
이스라엘 바스 루비오
야곱 챔피언
Jacob Speidel
Jaime Casanova
Jakub Wartak
James Coleman
James Inform
James Vanns
Jan Wieck
Japin Li
Jeevan Ladhe
Jeff Davis
Jeff Janes
Jehan-Guillaume de Rorthais
Jelte Fennema
Jian HE
Jim Jones
Jinbao Chen
Joe Conway
Joel Jacobson
John Naylor
Jonathan Katz
Josef Simanek
Joseph Koshakow
Juan José Santamaría Flecha
Julien Rouhaud
Julien Roze
Junwang Zhao
Justin Pryzby
Justin Zhang
Karina Litskevich
Karl O. Pinc
Keisuke Kuroda
Ken Kato
Kevin McKibbin
Kieran McCusker
Kirk Wolak
Konstantin Knizhnik
Koshi Shibagaki
Kotaro Kawamoto
Kui Liu
Kyotaro Horiguchi
Lakshmi Narayanan Sreethar
Laurence Parry
Laurenz Albe
Luca Ferrari
Lukas Fittl
Maciek Sakrejda
Magnus Hagander
Maja Zaloznik
Marcel Hofstetter
Marina Polyakova
Mark Dilger
Marko Tiikkaja
Markus Winand
Martijn van Oosterhout
Martin Jurca
Martin Kalcher
Mary Xu
Masahiko Sawada
Masahiro Ikeda
Masao Fujii
Mason Sharp
Matheus Alcantara
Mats Kindahl
Matthias van de Meent
Matthijs van der Vleuten
Maxim Orlov
Maxim Yablokov
Mehmet Emin Karakas
Melanie Plageman
melih mutlu
Micah Gates
Michael Banck
Michael Paquier
Michail Nikolaev
Michel Pelletier
Mike OH
Mikhail Gribkov
Mingli Zhang
Miroslav Bendik
Mitsuru Hinata
Myo Wai Thant
Naeem Akhter
Naoki Okano
Nathan Bossart
Nazir Bilal Yavuz
Neha Sharma
Nick Babadzhanian
Nicola Contu
Nikhil Shetty
Nikita Glukhov
Nikolay Samokhvalov
Nikolay Shaplov
Nishant Sharma
Nitin Jadhav
Noah Misch
Noboru Saito
Noriyoshi Shinoda
Nuko Yokohama
Oleg Bartunov
Oleg tselebrovskiy
Olly Betts
Onder Kalaci
Onur Tirtir
Pablo Federico
Palle Girgensohn
Paul Guo
Paul Jungwirth
Paul Ramsey
Pavel Borisov
Pavel Kulakov
Pavel Luzanov
Pavel Stehule
Peifeng Qiu
Peter Eisentraut
Peter Geoghegan
Peter Smith
Phil Florent
Philippe Godfrin
Platon Pronko
przemyslaw sztoch
Rachel Heaton
Ranier Vilela
Regina Obe
Reid Thompson
Reiner Peterke
Richard Guo
Riivo Kolka
Rishu Bagga
Robert Haas
Robert Sjöblom
115524_115536
Roberto Mello
Robins Tharakan
Roman Zharkov
Ronan Dunklau
Rushabh Lathia
Ryo Matsumura
Samay Sharma
Sami Imseih
Sandeep Thakkar
Sandro Santilli
Sebastien Flaesch
Sébastien Lardière
Sehrope Sarkuni
Sergey Belyashov
Sergey Pankov
Sergey Shinderuk
Shi Yu
Shinya Kato
Sho Kato
116622_116635
Shveta Mallik
Simon Riggs
Sindy Senorita
Sirisha Chamarthi
Sravan Kumar
Stéphane Tachoires
Stephen Frost
Steve Chavez
Stone Tickle
Sven Klemm
Takamichi Osumi
Takeshi Ideriha
Tatsuhiro Nakamori
Tatsuo Ishii
Teja Mupparti
입찰 왕
Teodor Sigaev
Thiago Nunes
Thom Brown
Thomas Habets
Thomas Mc Kay
Thomas Munro
Tim Carey-Smith
Tim Field
Timo Stolz
Tom Lane
Tomas Vondra
Tor Erik Linnerud
Torsten Förtsch
Tristan Partin
Troy Frericks
Tushar Ahuja
Valerie Woolard
Vibhor Kumar
Victor Spirin
Victoria Shepard
Vignesh C
Vik Fearing
Vitaly Burovoy
Vitaly Davydov
Wang Wei
Wenjing Zeng
고래 노래
Will Mortensen
Wolfgang Walther
Xin Wen
Xing Guo
Xingwang Xu
Xuejing Zhao
Yanliang Lei
119488_119497
Yugo Nagata
Yura Sokolov
Yuta Katsuragi
Zhen Mingyang
Zheng Li
Zhihong Yu
Zhijie Hou
Zongliang Quan
Zuming Jiang