출시 날짜 :2018-10-18
주요 향상PostgreSQL11 포함 :
:를 포함한 분할 기능 개선
해시 키에 의한 파티셔닝 지원 추가
지원 추가기본 키
, 외국 키
, 인덱스 및 파티션 된 테이블의 트리거
a 생성 토토 결과“기본값”나머지 파티션과 일치하지 않는 데이터를 저장하기위한 파티션
업데이트
파티션 키 열을 변경하는 진술은 이제 영향을받는 행이 적절한 파티션으로 이동하게됩니다
개선select
쿼리 계획 및 실행 중 강화 된 파티션 제거 전략을 통한 성능
:를 포함한 병렬 처리 개선
색인 생성
이제 B-Tree Index를 구축하는 동안 병렬 처리를 토토 결과할 수 있습니다
이제 병렬화가 가능합니다테이블 생성 ... as
, 구체화 된보기 만들기
및 토토 결과을 토토 결과하는 특정 쿼리Union
병렬화 된 해시 조인 및 병렬화 된 순차 스캔이 더 잘 작동합니다
임베디드 트랜잭션을 지원하는 SQL 저장 프로 시저
일부 SQL 코드에 대한 옵션 JIT (Just-In-Time) 컴파일, 표현의 속도 평가
창 함수는 이제 SQL에 표시된 모든 프레임 옵션을 지원합니다.범위
, 거리
선행/다음그룹
모드 및 프레임 제외 옵션
커버링 인덱스가 이제를 토토 결과하여 생성 할 수 있습니다.포함
절의 조항색인 생성
테이블을 피할 수있는 능력을 포함하여 많은 유용한 성능 향상Alter Table ... 열 추가
null 열 기본값이없는
위 항목은 아래 섹션에서 자세히 설명되어 있습니다.
덤프/복원 토토 결과pg_dumpall또는 토토 결과pg_upgrade또는 이전 릴리스에서 데이터를 마이그레이션하려는 사람들에게는 논리 복제가 필요합니다. 보다섹션 18.6새로운 주요 릴리스로 마이그레이션에 관한 일반 정보.
버전 11에는 이전 릴리스와의 호환성에 영향을 줄 수있는 여러 가지 변경 사항이 포함되어 있습니다. 다음과 비 호환성을 관찰하십시오.
makepg_dump내용이 아니라 데이터베이스의 속성을 덤프하십시오 (Haribabu Kommi)
이전에 데이터베이스 수준과 같은 데이터베이스 자체의 속성grant
/Revoke
권한 및데이터베이스 세트 변경
가변 설정은 |pg_dumpall. 지금PG_DUMP -CREATE
andPG_RESTORE-CREATE
데이터베이스 내의 객체 외에 이러한 데이터베이스 속성을 복원합니다.PG_DUMPALL -G
이제 역할 및 테이블 스페이스 관련 속성 만 덤프합니다.pg_dumpall의 완전한 출력 (-g
) 변경되지 않았습니다.
pg_dumpandPG_RESTORE,-Create
, 더 이상 덤프/복원 데이터베이스 레벨 주석 및 보안 레이블; 그것들은 현재 데이터베이스의 속성으로 취급됩니다.
pg_dumpall'의 출력 스크립트는 이제 원래 로케일 및 인코딩으로 항상 데이터베이스를 생성하므로 로케일 또는 인코딩 이름이 대상 시스템에 알려지지 않은 경우 실패합니다. 이전에,데이터베이스 생성
데이터베이스 로케일과 인코딩이 이전 클러스터의 기본값과 일치하는 경우 이러한 사양없이 방출됩니다.
PG_DUMPALL -CLEAN
이제 원래 로케일을 복원하고의 인코딩 설정을 복원합니다.Postgres
andtemplate1
데이터베이스 및 토토 결과자가 만든 데이터베이스의 데이터베이스.
열을 명확하게 할 때 구문 양식을 고려하여 열 참조 (Tom Lane)
언제x
테이블 이름 또는 복합 열입니다.PostgreSQL전통적으로 구문 양식을 고려했습니다
andf
(x
)
동일하게 함수를 작성한 다음 주문형 열인 것처럼 사용하는 것과 같은 트릭을 토토 결과합니다. 그러나 두 해석이 모두 가능하면 칼럼 해석이 항상 선택되어 사용자가 기능 해석을 의도 한 경우 놀라운 결과를 초래했습니다.x
.f
테이블 및 도메인 제약 이름의 독창성을 완전히 시행합니다 (Tom Lane)
PostgreSQL테이블의 제약 조건의 이름이 도메인의 제약 조건의 이름과 마찬가지로 구별 될 것으로 기대합니다. 그러나 이것에 대한 엄격한 시행은 없었으며, 이전에는 중복 이름을 만들 수있는 코너 케이스가있었습니다.
make전력 (숫자, 숫자)
andPower (float8, float8)
핸들NAN
POSIX 표준 (Tom Lane, Dang Minh Huong)에 따른 입력
POSIX는nan ^ 0 = 1
and1 ^ nan = 1
, 그러나 다른 모든 경우NAN
입력 (S)이 반환해야합니다NAN
. 전력 (숫자, 숫자)
방금 반환NAN
그러한 모든 경우; 이제 두 가지 예외를 존중합니다.Power (float8, float8)
C 라이브러리가하는 경우 표준을 따랐습니다. 그러나 일부 오래된 유닉스 플랫폼에서는 라이브러리가 그렇지 않으며 일부 버전의 Windows에도 문제가있었습니다.
예방to_number ()
템플릿 분리기가 일치하지 않을 때 문자 소비에서 (Oliver Ford)
구체적으로select to_number ( '1234', '9,999')
반환에 토토 결과134
. 이제 돌아올 것입니다1234
. L
andth
이제 숫자가 아닌 문자 만 소비합니다.
수정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
'sProisagg
andProisWindow
Prokind
(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 트리거 함수에서old
andNEW
변수는 이제 할당되지 않으면 널로 읽습니다 (Tom Lane)
이전에, 이러한 변수에 대한 참조는 구문 분석 할 수 있지만 실행되지 않을 수 있습니다.
아래에서의 변경 사항에 대한 자세한 설명이 있습니다.PostgreSQL11 및 이전 주요 릴리스.
해싱을 기반으로 파티션 생성 토토 결과 키 열 (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)
Btree 지수의 병렬 건물 토토 결과 (Peter Geoghegan, Rushabh Lathia, Heikki Linnakangas)
공유 해시 테이블 (Thomas Munro)을 토토 결과하여 해시 조인을 병렬로 수행하도록 토토 결과
토토 결과Union
각각 실행하려면select
개인이면 병렬select
s 병렬화 할 수 없습니다 (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)
B- 트리 인덱스는 검색 키나 고유 한 제약 조건의 일부가 아닌 열을 포함하도록 토토 결과하지만 인덱스 전용 스캔 (Anastasia Lubennikova, Alexander Korotkov, Teodor Sigaev)으로 읽을 수 있습니다.
이것은 New에 의해 활성화됩니다포함
절의 조항색인 생성
. 건물을 촉진합니다“커버링 인덱스”특정 유형의 쿼리를 최적화하는. 데이터 유형이 B- 트리 지원이 없어도 열을 포함시킬 수 있습니다.
단조로 증가하는 인덱스 추가의 성능 향상 (Pavan Deolasee, Peter Geoghegan)
해시 지수 스캔의 성능 향상 (Ashutosh Sharma)
해시, GIST 및 GIN 인덱스에 대한 술어 잠금 추가 (Shubham Barai)
이것은 직렬화 가능한 모드 트랜잭션에서 직렬화 충돌 가능성을 줄입니다.
접두사 매치 연산자 추가텍스트
^@
텍스트
, SP-Gist (Ildus Kurbangaliev)가 지원합니다.
이것은 토토 결과과 유사합니다var
같은 'Word%'
btree 지수를 토토 결과하는 것은 더 효율적입니다.
SP-Gist (Nikita Glukhov, Alexander Korotkov)와 함께 다각형을 색인화 할 수 있습니다.
SP-Gist가 잎 열쇠 (Teodor Sigaev, Heikki Linnakangas, Alexander Korotkov, Nikita Glukhov)의 손실 표현을 사용하도록 토토 결과합니다.
통계의 가장 일반적인 값 선택 개선 (Jeff Janes, Dean Rasheed)
이전에 가장 일반적인 값 (MCVs)는 모든 열 값과 비교하여 빈도에 따라 식별되었습니다. 지금,MCVs는 비에 비해 빈도에 따라 선택됩니다.MCV값. 이것은 균일 한 분포 및 불균일 한 분포 모두에 대한 알고리즘의 견고성을 향상시킵니다.
선택성 향상> =
and<=
(Tom Lane)
이전에, 그러한 경우와 동일한 선택성 추정치를 사용했습니다.and
<
, 비교 상수가없는 한.MCVs. 이 변경 사항은 특히 관련 쿼리에 특히 도움이됩니다사이
작은 범위와 함께.
감소var
=
var
tovar
동등한 위치 (Tom Lane)
이것은 더 나은 선택성 추정치로 이어집니다.
Optimizer의 행 카운트 추정치 향상존재
and존재하지 않음
쿼리 (Tom Lane)
평가 비용과 선택성을 위해 Optimizer 계정 만들기Clauses (Tom Lane)
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구성 매개 변수.
출력에서 메모리 토토 결과을 표시log_statement_stats
, log_parser_stats
, log_planner_stats
및log_executor_stats
(Justin Pryzby, Peter Eisentraut)
열 추가pg_stat_activity
.backend_type
배경 작업자 유형을 보여 주려면 (Peter Eisentraut)
유형도 표시됩니다PS출력.
makelog_autovacuum_min_duration
동시에 떨어지는 로그 건너 뛰기 테이블 (Nathan Bossart)
addInformation_Schema
테이블 제약 및 트리거와 관련된 열 (Peter Eisentraut)
구체적으로트리거
.Action_order
, 트리거
.Action_Reference_old_table
및트리거
.Action_Reference_new_table
이제는 가득 차 있습니다. 또한,table_constraints
.시행
현재 존재하지만 아직 유용하게 채워지지 않았습니다.
서버가 더 복잡한 것을 지정하도록 토토 결과LDAP검색+바인드 모드의 사양 (Thomas Munro)
구체적으로LDAPSEARCHFILTER
조합을 토토 결과하여 패턴 일치 토토 결과LDAP속성.
토토 결과LDAP암호화 된 사용 인증LDAP(Thomas Munro)
우리는 이미 지원LDAPOverTLS토토 결과하여ldaptls = 1
. 이 새로운TLS LDAP암호화 방법LDAPldapscheme = ldaps
또는ldapurl = ldaps : //
.
로깅 향상LDAP오류 (Thomas Munro)
add기본 역할파일 시스템 액세스를 활성화하는 (Stephen Frost)
특히 새로운 역할은 다음과 같습니다.PG_READ_SERVER_FILES
, pg_write_server_files
및pg_execute_server_program
. 이러한 역할은 이제 서버 측을 토토 결과할 수있는 사람을 제어합니다COPY
및file_fdw
확장. 이전에는 슈퍼 사용자만이 이러한 기능을 사용할 수 있으며 여전히 기본 동작입니다.
제어 할 파일 시스템 기능에 대한 액세스 토토 결과grant
/Revoke
Superuser 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)
서버 설정 추가ssl_passphrase_command
암호를 제공 할 수 있도록SSL키 파일 (Peter Eisentraut)
또한 추가ssl_passphrase_command_supports_reload
SSL구성을 다시로드하고ssl_passphrase_command
서버 구성 중에 호출.
스토리지 매개 변수 추가TOAST_TUPLE_TARGET
이전의 최소 튜플 길이를 제어하려면토스트스토리지가 고려됩니다 (Simon Riggs)
기본값토스트임계 값이 변경되지 않았습니다.
메모리 및 파일 크기와 관련된 서버 옵션이 바이트 단위로 지정할 수 있도록 토토 결과
새로운 장치 접미사는“B”. 이것은 기존 단위에 추가됩니다“KB”, “MB”, “GB”and“TB”.
토토 결과Wal파일 크기 중에 설정할 파일 크기initdb(Beena Emerson)
이전에 16MB 기본값은 컴파일 시간에만 변경할 수 있습니다.
retainWal단일 체크 포인트 (Simon Riggs)에 대한 데이터
이전,Wal두 개의 체크 포인트에 대한 보유되었습니다.
힘 스위치의 미토토 결과 부분을 채우십시오Wal향상된 압축성을위한 0을 가진 세그먼트 파일 (Chapman Flack)
복제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)
토토 결과Alter Table
테이블을 다시 작성하지 않고 널 비 기본값이있는 열을 추가하려면 (Andrew Dunstan, Serge Rielau)
기본값이 상수 일 때 활성화됩니다.
기본 테이블 (Yugo Nagata)을 잠그면 뷰를 잠그십시오
토토 결과Alter Index
표현 지수에 대한 통계 수집 목표를 설정하려면 (Alexander Korotkov, Adrien Nayrat)
inPSQL, \ d+
이제 인덱스의 통계 대상을 보여줍니다.
하나에 여러 테이블을 지정하도록 토토 결과진공
또는분석
Command (Nathan Bossart)
또한,에 언급 된 테이블이 있으면진공
열 목록을 사용한 다음분석
키워드를 제공해야합니다. 이전에,분석
그러한 경우에 암시되었습니다.
괄호 옵션 구문 추가분석
(Nathan Bossart)
이것은 지원되는 구문과 유사합니다진공
.
add집계 생성
골재의 최종화 함수 (Tom Lane)의 동작을 지정하는 옵션
이것은 토토 결과자 정의 집계 함수를 최적화하고 창 함수로 작동하도록하는 데 도움이됩니다.
도메인 배열 생성 토토 결과 (Tom Lane)
이것은 또한 토토 결과array_agg ()
도메인에서 토토 결과하려면
복합 유형을 통한 지원 도메인 (Tom Lane)
PL/PERL, PL/PYTHON 및 PL/TCL이 복합 도메인 기능 인수 및 결과를 처리하도록 토토 결과합니다. 또한 PL/Python 도메인 처리를 향상시킵니다.
출연진 추가JSONB
스칼라에서 숫자 및 부울 데이터 유형 (Anastasia Lubennikova)
모두 추가창 함수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)
이것은 형식 사양으로 수행됩니다TZH
andTZM
.
텍스트 검색 기능 추가Websearch_to_tsquery ()
웹 검색 엔진 (Victor Drobny, Dmitry Ivanov)에서 사용하는 것과 유사한 쿼리 구문을 지원하는
함수 추가JSON (B) _TO_TSVECTOR ()
일치하기위한 텍스트 검색 쿼리 생성JSON
/JSONB
값 (Dmitry Dolgov)
자체 거래를 시작하고 커밋 할 수있는 SQL 레벨 절차 추가 (Peter Eisentraut)
그들은 New로 만들어졌습니다절차 만들기
명령을 통해콜
.
새로운Alter
/DROP LOUTINE
명령은 절차, 기능 및 집계를 포함하여 모든 일상적인 개체를 변경/드롭게 할 수 있습니다.
또한 쓰기기능
이제 글쓰기보다 선호절차
in운영자 생성
and트리거 만들기
, 참조 된 객체는 프로 시저가 아닌 함수 여야하므로. 그러나 이전 구문은 여전히 호환성으로 인정됩니다.
PL/PGSQL, PL/PERL, PL/PYTHON, PL/TCL 및에 트랜잭션 제어 추가SPI서버 측 언어 (Peter Eisentraut)
트랜잭션 제어는 최상위 교환 수준 절차 내에서만 사용할 수 있으며 중첩do
and콜
다른 것만 포함하는 블록do
and콜
블록.
PL/PGSQL 복합 유형 변수를 NULL, 상수 또는 초기 값 (Tom Lane)으로 정의하는 기능 추가
PL/PGSQL이 동일한 세션 (Tom Lane)에서 첫 번째 기능 실행 사이에 발생하는 복합 유형 (예 : 레코드, 행)의 변경 사항을 처리하도록 토토 결과
이전에, 그러한 상황이 오류가 발생했습니다.
확장 추가JSONB_PLPYTHON
변환JSONB
to/from pl/python type (Anthony Bykov)
확장 추가JSONB_PLPERL
변환JSONB
to/from pl/perl 유형 (Anthony Bykov)
기본적으로 압축을 비활성화하도록 LIBPQ 변경 (Peter Eisentraut)
최신 OpenSSL 버전에서 이미 압축이 비활성화되어 LiBPQ 설정이 해당 라이브러리에 영향을 미치지 않았습니다.
add계속
옵션ECPG's언제든지
성명서 (Vinayak Pokale)
이것은 C를 생성합니다.계속
명령문, 지정된 조건이 발생할 때 포함 된 루프의 상단으로 돌아 가기.
ATECPGOracle Pro*C 스타일 처리를 활성화하는 모드.
이 모드는-c
.
addPSQL명령\ gdesc
쿼리 토토 결과에 열의 이름과 유형을 표시하려면 (Pavel Stehule)
addPSQL쿼리 활동 및 오류를보고하는 변수 (Fabien Coelho)
특히, 새로운 변수는입니다.오류
, sqlstate
, row_count
, last_error_message
및last_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
지정되어 있습니다.
토토 결과Quit
and출구
출구PSQL사전 입력없이 주어진 경우 (Bruce Momjian)
또한 종료 방법에 대한 힌트도Quit
and출구
입력 버퍼가 비어있는 동안 라인에서 단독으로 토토 결과됩니다. 비슷한 힌트 추가도움말
.
makePSQLcontrol-d를 토토 결과하는 힌트\ Q
라인에 혼자 입력했지만 무시 (Bruce Momjian)
예를 들어\ Q
문자열로 제공 될 때 종료되지 않습니다.
탭 완료 개선Alter Index Reset
/SET
(Masahiko Sawada)
토토 결과 인프라 추가PSQL서버 버전 (Tom Lane)을 기반으로 탭 완료 쿼리를 조정하려면
이전에, 탭 완료 쿼리는 이전 서버에 대해 실패 할 수 있습니다.
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-limit
and-레이트
(Fabien Coelho)
옵션 추가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보내기Sigkill
Processes (Andres Freund) 신호
이것은 가능한 오용에 대한 우려로 인해 이전에 지원되지 않았습니다.
|pg_rewind(Michael Paquier)
예방pg_rewindas as에서루트
(Michael Paquier)
addpg_dumpall옵션-encoding
출력 인코딩 제어 (Michael Paquier)
pg_dump이미이 옵션이 있습니다.
addpg_dump옵션-Load-Via-Partition-Root
원래 파티션 (Rushabh Lathia) 대신 파티션의 루트 테이블에 데이터를로드하는 데 강제
이것은로드 될 시스템에 다른 콜레이션 정의 또는 엔지니어를 갖는 경우 유용하며, 이전과 다른 파티션에 행을 저장해야 할 수도 있습니다..
덤프 및 복원을 억제하는 옵션 추가 데이터베이스 개체 댓글 (Robins Tharakan)
새로운pg_dump, pg_dumpall및PG_RESTORE옵션은-no-comments
.
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
.reltuples
by진공
계산에 의한 일관성분석
(Tomas Vondra)
사용하려면 업데이트perltidy버전20170521
(Tom Lane, Peter Eisentraut)
확장 토토 결과pg_prewarm
시작시 이전 공유 버퍼 컨텐츠를 복원하려면 (Mithun Cy, Robert Haas)
이것은pg_prewarm
공유 버퍼의 관계 및 블록 번호 데이터를 서버 작동 중에 때때로 디스크에 저장하고 종료시.
addPG_TRGM
기능strict_word_similarity ()
전체 단어의 유사성을 계산하려면 (Alexander Korotkov)
함수Word_Similarity ()
이미이 목적을 위해 존재했지만 비슷한 단어의 부분을 찾도록 설계되었지만strict_word_similarity ()
전체 단어와 유사성을 계산합니다.
토토 결과btree_gin
to Indexbool
, BPCHAR
, 이름
andUUID
데이터 유형 (Matheus oliveira)
토토 결과큐브
andSEG
GIST 인덱스 (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)
이 확장은 더 이상 사용 가능한 보안 도구 또는 확장자 작성 방법의 예로 간주되지 않습니다.
다음 개인 (알파벳 순서로)은 패치 저자,위원회, 검토 자, 테스터 또는 문제의 기자 로서이 릴리스에 기여했습니다.
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 |