Postgresql 9.4.26 문서화 | |||
---|---|---|---|
이전 | up | 부록 E. 사설 토토 노트 | 다음 |
출시 날짜 : 2014-12-18
주요 향상postgresql9.4 포함 :
addJSONB, 저장을위한보다 유능하고 효율적인 데이터 유형JSON데이터
새로운 추가SQL명령Alter System변화를위한postgresql.conf구성 파일 항목
일부의 잠금 강도 감소Alter Table명령
허용구체화 된보기동시 읽기를 차단하지 않고 새로 고침
지원 추가논리 디코딩WAL 데이터의 데이터베이스 변경을 사용자 정의 가능한 형식으로 스트리밍 할 수 있도록
허용배경 작업자 프로세스동적으로 등록, 시작 및 종료하려면
위 항목은 아래 섹션에서 자세히 설명되어 있습니다.
덤프/복원 사설 토토pg_dumpall또는 사설 토토pg_upgrade, 이전 릴리스에서 데이터를 마이그레이션하려는 사람들에게는 필요합니다.
버전 9.4에는 이전 릴리스와의 호환성에 영향을 줄 수있는 여러 가지 변경 사항이 포함되어 있습니다. 다음과 비 호환성을 관찰하십시오.
다차원 검사 조임배열입력 (Bruce Momjian)
이전에는 단일 요소 서브 어레이로 시작한 입력 배열 문자열이 나중에 멀티 요소 서브 어레이를 포함 할 수 있습니다 (예 :.'1, 2,3':: int []허용됩니다.
유형 값을 변환 할 때날짜, 타임 스탬프또는TimesTamptztoJSON, ISO 8601 (Andrew Dunstan)을 준수하는 형식으로 값을 렌더링합니다
이전에 그러한 값이 현재에 따라 렌더링되었습니다Datestyle설정; 그러나 많은 JSON 프로세서는 타임 스탬프가 ISO 8601 형식으로되어야합니다.텍스트JSON 변환 기능에 전달하기 전에.
theJSON #> 텍스트 []경로 추출 연산자는 이제 배열이 비어있는 경우 (Tom Lane)이면 NULL이 아닌 LEFTHAND 입력을 반환합니다.
이것은 단순 필드/요소 추출 연산자의 제로 응용 프로그램을 나타내는 개념과 일치합니다->. 비슷하게,JSON #>> 텍스트 []빈 배열이 단지 텍스트에 대한 입력을 강요합니다.
코너 케이스의JSON필드/요소/경로 추출 연산자이제 오류를 올리는 대신 NULL을 반환합니다 (Tom Lane)
예를 들어, JSON 어레이에 필드 추출을 적용하면 이제 널 오류가 아닙니다. 이는 더 일관성이 있습니다 (무시 필드와 같은 비슷한 사례는 이미 Null을 반환했기 때문에), 이제 유효한 JSON 입력에 오류가 발생하지 않기 때문에 이러한 연산자를 사용하는 표현 인덱스를 생성하는 것이 안전합니다..
연속 공백에서 원인TO_TIMESTAMP ()
andto_date ()
입력 문자열에서 해당 문자 수를 소비하는 형식 문자열 (공백 여부).FX모드 (Jeevan Chalke)
이전에, 비의 연속 공백 문자FX형식 문자열은 단일 공백 문자처럼 행동하고 입력 문자열에 인접한 모든 공백을 소비했습니다. 예를 들어, 이전에는 3 개의 공간의 형식 문자열이의 첫 번째 공간 만 소비합니다.' 12 '그러나 이제 세 문자를 모두 소비합니다.
수정TS_RANK_CD ()
박탈 된 Lexemes (Alex Hill)를 무시하려면
이전에, 박리 된 Lexemes는 마치 기본 위치가있는 것처럼 취급되어 모호한 유용성을 생성했습니다..
취해지는 기능Variadic "Any",로 표시된 실제 매개 변수variadic결정 가능한 배열 유형 (Pavel Stehule)이어야합니다.
이러한 매개 변수는 더 이상 미개화 문자열 리터럴 또는로 작성할 수 없습니다.NULL; 이제 적절한 배열 데이터 유형에 대한 캐스트가 필요합니다.variadic.
전체 열 변수가 Composite Arguments (Tom Lane) 내에서 열 이름에주의를 기울이는 함수에 예상 열 이름을 노출 시키는지 확인하십시오.
같은 구성row_to_json (탭.*)이제 항상 테이블에 표시된 열 별칭과 일치하는 열 이름을 방출합니다탭통화 시점에서. 이전에서 릴리스에서 방출 된 열 이름은 쿼리에 할당 된 별칭에 관계없이 때때로 테이블의 실제 열 이름이됩니다.
Discard이제 시퀀스 관련 상태를 버립니다 (Fabrízio de Royes Mello, Robert Haas)
Rename분석 설명's"Total Runtime"출력"실행 시간"(Tom Lane)
이제 계획 시간도보고되었으므로 이전 이름이 혼란 스러웠습니다.
시간대 표시이제 간단한 숫자 UTC 오프셋을 출력합니다posixTimezone Format (Tom Lane)
이전에, 그러한 시간대 설정은로 표시되었습니다.간격값. 새로운 출력은에 의해 제대로 해석됩니다.시간대 설정간단한 문자열로 통과했을 때, 오래된 출력은 특별한 처리를 올바르게 다시 구분해야했습니다.
외국 테이블 업데이트를 지원하는 외국 데이터 포장지는 가능한 존재를 고려해야합니다After Row트리거 (Noah Misch)
언제After Row트리거가 있습니다. 트리거가 일부 또는 전부를 검사 할 수 있으므로 작업을 업데이트하여 테이블의 모든 열을 반환해야합니다. 이전에는 외국 테이블이 트리거가 없었으므로 FDW는에 언급되지 않은 페치 컬럼을 최적화 할 수 있습니다.반환절 (있는 경우).
예방check제외하고 시스템 열의 제약 조건을 제외하고Tableoid(Amit Kapila)
이전에 그러한 점검 제약이 허용되었지만 복원 중에 종종 오류가 발생합니다.
마지막 지정된 사설 토토복구 대상 매개 변수다중 대상 매개 변수가 지정된 경우 (Heikki Linnakangas)
이전에,에 문서화되지 않은 우선 순위가있었습니다.복구 _target_xxx매개 변수.
Windows에서 사용자가 제공하는 명령 문자열에서 인용문을 자동으로 보존합니다 (Heikki Linnakangas)
자신의 견적 보존을 수행 한 사용자 명령은 조정이 필요할 수 있습니다. 이것은에 사용 된 명령에 문제가 될 것입니다.archive_command, Restore_command및프로그램에 복사/From Program.
카탈로그 열 제거PG_CLASS.RELTOASTIDXID(Michael Paquier)
카탈로그 열 제거pg_rewrite.ev_attr(Kevin Grittner)
그 이후로 컬럼 당 규칙이 지원되지 않았습니다postgresql 7.3.
기본 지원 제거Kerberos인증 (-with-krb5등) (Magnus Hagander)
지원되는 사용 방법Kerberos인증은GSSAPI. 기본 코드는 이후 이후 더 이상 사설 토토되지 않았습니다.postgresql 8.3.
inpl/python, 기본 배열 유형 (Rodolfo Campero)과 같은 어레이의 도메인 핸들
이전에는 그러한 값이 문자열로 취급되었습니다.
libpq 만들기PQCONNECTDBPARAMS ()
andpqpingparams ()
함수는 제로 길이 문자열을 기본값으로 프로세스합니다 (Adrian Vondendriesch)
이전에,이 함수는 어떤 경우에만 기본값을 선택하는 것으로 제로 길이의 문자열 값을 취급했습니다..
빈 배열 변경intarray모듈은 제로 차원 배열 (Bruce Momjian)
이전에, 빈 배열은 제로 길이의 1 차원 배열로 반환되었으며, 텍스트 표현은 제로 차원 배열 (과 동일하게 보였습니다.{}), 그러나 그들은 배열 작업에서 다르게 행동했습니다.intarray이 영역에서의 동작은 이제 내장 배열 연산자와 일치합니다.
pg_upgrade지금 사설 토토-u또는-username사설 토토자 이름을 지정하려면 (Bruce Momjian)
이전 에이 옵션이 철자-u또는--user, 그러나 그것은 다른 도구와 일치하지 않았습니다.
아래에서 변경 사항에 대한 자세한 설명이 있습니다.postgresql9.4 및 이전 주요 릴리스.
허용배경 작업자 프로세스동적으로 등록, 시작 및 종료 (Robert Haas)
새로운Worker_SPI모듈은이 기능의 사설 토토 예를 보여줍니다.
공유 메모리 세그먼트의 동적 할당 허용 (Robert Haas, Amit Kapila)
이 기능은에 설명되어 있습니다.test_shm_mq모듈.
충돌 복구 또는 즉시 종료 신호를 보내십시오 (Sigkill) 즉시 종료되지 않은 아동 과정 (Maumau, Álvaro Herrera)
이것은 고아 아동 과정을 떠날 가능성이 줄어 듭니다Postmaster셧다운, 일부 아동 프로세스가되면 충돌 회복이 진행될 수 있는지 확인하십시오"Stuck".
데이터베이스 시스템 식별자의 임의성 향상 (Tom Lane)
make진공통계 수집가 (Hari Babu)에게 죽은 사람이지만 제외 할 수없는 행을 적절하게보고합니다.
이전에는 라이브 행으로보고되었습니다.
감소진색인 크기 (Alexander Korotkov, Heikki Linnakangas)
indexes를 통해 업그레이드pg_upgrade잘 작동하지만 여전히 오래되고 더 크게있을 것입니다진형식. 사설 토토Reindex새로운 형식으로 오래된 진 인덱스를 재현하려면
멀티 키 속도 향상진조회 (Alexander Korotkov, Heikki Linnakangas)
addgist색인 지원inetandCIDR데이터 유형 (EMRE HASEGELI)
그러한 색인이 개선서브넷 및 슈퍼넷조회 및 주문 비교.
B- 트리 페이지 삭제에서 희귀 경주 조건 수정 (Heikki Linnakangas)
중단 된 B- 트리 페이지의 처리가 더 강력한 (Heikki Linnakangas)
여러 백엔드가 삽입하도록 허용Wal버퍼 동시에 (Heikki Linnakangas)
이것은 병렬 쓰기 성능을 향상시킵니다.
조건부 업데이트 된 행의 수정 된 부분 만Wal(Amit Kapila)
|창 함수(David Rowley, Florian Pflug, Tom Lane)
사설 토토하는 집계 속도 향상숫자주 값 (Hadi Moshayedi)
시도동결테이블이 다시 작성 될 때 튜플클러스터또는진공 Full(Robert Haas, Andres Freund)
이것은 미래에 튜플을 얼릴 필요가 없을 수 있습니다.
속도 향상COPY기본값nextVal ()
열 (Simon Riggs)
다양한 다른 액세스 속도 향상시퀀스같은 세션 (David Rowley)
분류 중에 메모리에 보유 된 튜플 수에 대한 단단한 제한을 높이고 B- 트리 인덱스 빌드 (Noah Misch)
|pl/pgsql do블록 (Tom Lane)
혼합에서 제한 조항 추출에 대한 플래너를 더욱 공격적으로 만듭니다and/또는Clauses (Tom Lane)
휘발성 밀리지여기서클로즈로별도의서브 쿼리 (Tom Lane)
a 추진여기서조항은 전반적으로보다 효율적인 계획을 생성 할 수 있지만, 쿼리의 텍스트에 의해 암시되는 것보다 조항을 더 자주 평가하는 비용으로; 따라서 조항에 휘발성 기능이 포함되어 있으면하지 마십시오.
자동 재조정 카탈로그 캐시 (Heikki Linnakangas)
이것은 몇 개의 테이블에만 액세스하는 세션의 메모리 소비를 줄이고 많은 테이블에 액세스하는 세션의 성능을 향상시킵니다.
addpg_stat_archiver보고서에 대한 시스템보기Wal아카이버 활동 (Gabriele Bartolini)
addn_mod_since_analyze열로pg_stat_all_tables및 관련 시스템보기 (Mark Kirkwood)
이 열은 테이블의 마지막 이후 변경된 튜플 수에 대한 시스템의 추정치를 노출시킵니다분석. 이 추정치는 언제 자동 분석 할시기에 대한 결정을 이끌어냅니다.
addbackend_xidandbackend_xmin시스템 뷰에서 열pg_stat_activity및 abackend_xmin열 topg_stat_replication(Christian Kruse)
지원 추가SSL ECDH키 교환 (Marko Kreen)
이것은 서버 인증에 타원 곡선 키를 사설 토토할 수 있습니다. 이러한 열쇠는 더 빠르고보다 보안이 더 좋습니다.RSA키. 새로운 구성 매개 변수SSL_ECDH_CURVE어떤 곡선이 사설 토토되는지 컨트롤ECDH.
기본값 향상SSL_CIPHERS설정 (Marko Kreen)
기본적으로, 서버는 이제 클라이언트가 아닌 선호 순서를 제어합니다SSL암호 (Marko Kreen)
이전에, 명시된 순서SSL_CIPHERS일반적으로 클라이언트 측 기본값에 찬성하여 무시되었으며, 대부분의 경우 구성 할 수 없습니다postgresql클라이언트. 원하는 경우 새 구성 매개 변수를 통해 구식 동작을 복원 할 수 있습니다.ssl_prefer_server_ciphers.
makelog_connectionsshowSSL암호화 정보 (Andreas Kunert)
개선SSL재협상 처리 (Álvaro Herrera)
새로운 추가SQL명령Alter System변화를위한postgresql.conf구성 파일 항목 (Amit Kapila)
이전에 이러한 설정은 수동으로 편집 하여만 변경할 수 있습니다postgresql.conf.
addautovacuum_work_memAutovacuum Workers (Peter Geoghegan)가 사용하는 메모리의 양을 제어하기위한 구성 매개 변수
addmigne_pagesLinux에서 거대한 메모리 페이지를 사용할 수있는 매개 변수 (Christian Kruse, Richard Poole, Abhijit Menon-Sen)
이것은 대형 메모리 시스템의 성능을 향상시킬 수 있습니다.
addmax_worker_processes배경 근로자 수를 제한하는 매개 변수 (Robert Haas)
이것은 필요한 수의 작업자 프로세스 (기본과 동일)를 갖도록 대기 서버를 구성하는 데 도움이됩니다..
SuperUser 전용 추가session_preload_libraries세션 시작시 라이브러리로드하는 매개 변수 (Peter Eisentraut)
대조적으로local_preload_libraries,이 매개 변수는 공유 라이브러리가 아니라 공유 라이브러리를로드 할 수 있습니다$ libdir/플러그인디렉토리.
addWal_log_hints힌트 비트 변경의 WAL 로깅을 활성화하는 매개 변수 (Sawada Masahiko)
체크섬이 활성화 된 경우를 제외하고 힌트 비트 변경 사항은 일반적으로 기록되지 않습니다. 이것은와 같은 외부 도구에 유용합니다.pg_rewind.
기본 설정 증가work_memandmaintenance_work_mem4 번 (Bruce Momjian)
새로운 기본값은 각각 4MB와 64MB입니다.
기본 설정 증가explud_cache_sizeto 4GB (Bruce Momjian, Tom Lane)
허용printf
-지정할 스타일 공간 패딩log_line_prefix(David Rowley)
Terabyte 유닛 허용 (TB) 구성 변수 값 (Simon Riggs)을 지정할 때 사설 토토할 예정
showPID자물쇠 보유자 및 웨이터의 S와 관계에 대한 정보 개선log_lock_waits로그 메시지 (Christian Kruse)
공유 라이브러리를로드 할 때 서버 로깅 레벨 감소 (Peter Geoghegan)
이전 레벨은log, 세션 당로드 된 라이브러리에 대해 너무 장황한 것입니다.
Windows에서SQL_ASCII-인코딩 된 데이터베이스 및 서버 프로세스 (예 :Postmaster) 서버의 Windows 사용자 로케일 (Alexander Law, Noah Misch)의 문자 인코딩에서 메시지를 방출합니다.
이전 에이 메시지는 Windows에서 출력되었습니다ansi코드 페이지.
add복제 슬롯(Andres Freund, Robert Haas)에서 스트리밍하는 노드와 스트리밍 대기의 활동을 조정하려면
복제 슬롯과 같은 자원을 보존 할 수 있습니다.Wal대기 서버가 더 이상 필요하지 않을 때까지 기본의 파일.
복구 매개 변수 추가복구 _min_apply_delay복제 지연 (Robert Haas, Fabrízio de Royes Mello, Simon Riggs)
대기 서버의 재생 지연은 사설 토토자 오류에서 복구하는 데 유용 할 수 있습니다.
addRecovery_target옵션즉시중지 할Wal일관된 상태에 도달하자마자 회복 (Maumau, Heikki Linnakangas)
복구 목표 처리 개선 (Heikki Linnakangas)
|PG_LAST_XACT_REPLAY_TIMESTAMP ()
이제 이미 커미셔닝 된 기록을 반영합니다. 복원 지점으로 복구하면 이제 복원 지점 직전에 멈추지 않고 복원 지점이 재생됩니다.
pg_switch_xlog ()
이제 구식의 미사설 토토 후행 공간을 지 웁니다Wal파일 (Heikki Linnakangas)
이것은 압축 비율을 향상시킵니다Wal파일.
보고서 실패 리턴 코드외부 복구 명령(Peter Eisentraut)
동안 스피 록 경합 감소WalReplay (Heikki Linnakangas)
쓰기Wal더 자주 거래 실행 기록 (Andres Freund)
이를 통해 대기 서버가 더 빠르게 시작하고 자원을보다 적극적으로 정리할 수 있습니다.
논리 디코딩을 통해 데이터베이스 변경을 구성 가능한 형식으로 스트리밍 할 수 있습니다. 데이터는에서 읽습니다.Wal원하는 대상 형식으로 변환했습니다. 이 기능을 구현하려면 다음과 같은 변경 사항이 이루어졌습니다.
지원 추가논리 디코딩WAL 데이터의 데이터베이스 변경을 사용자 정의 가능한 형식 (Andres Freund)으로 스트리밍 할 수 있도록합니다.
새로운 추가Wal_level설정Logical논리적 변경 세트 인코딩을 활성화하려면Wal(Andres Freund)
테이블 레벨 매개 변수 추가복제 아이덴티티논리 복제를 제어하려면 (Andres Freund)
관계 옵션 추가user_catalog_table논리적 변경 세트 인코딩 (Andres Freund)에 관련된 사용자가 만든 테이블을 식별하려면
addPG_RECVLOGICAL논리화 데이터를 받기위한 응용 프로그램 (Andres Freund)
addtest_decoding논리적 디코딩을 설명하는 모듈SQL레벨 (Andres Freund)
add의식구문 숫자로 숫자로 반환 된 행을 숫자로 설정합니다From절 (Andrew Gierth, David Fetter)
이것은 특히 함수와 같은 기능에 유용합니다UNNEST ()
.
addrows from ()구문에서 설정 함수의 수평 연결을 허용하는 구문From절 (Andrew Gierth)
허용select빈 대상 목록 (Tom Lane)
열이 0 인 테이블에서 선택한 뷰를 올바르게 덤프하고 복원 할 수 있도록 추가되었습니다.
SELECT ... NOWAIT이미 컨 커버 업데이트 된 튜플 (Craig Ringer and Thomas Munro)과 관련된 코너 케이스에서 기다리지 않습니다.
add시퀀스 폐기캐시 된 시퀀스 관련 상태를 폐기하라는 명령 (Fabrízio de Royes Mello, Robert Haas)
모든 것을 버립니다이제 그러한 정보를 버릴 것입니다.
addForce Null옵션복사.CSV모드 (Ian Barwick, Michael Paquier)
이 옵션이 없으면 인용되지 않은 일치 문자열 만 널 값으로 가져옵니다.
효과가 없을 때 트랜잭션 블록 외부에서 사용되는 명령에 대한 경고 (Bruce Momjian)
새로운 경고가 발행되었습니다로컬 설정, 제약 세트, 트랜잭션 설정andabort트랜잭션 블록 외부에서 사설 토토될 때.
make분석 설명쇼 계획 시간 (Andreas Karlsson)
make설명AGG 및 그룹 노드 (Tom Lane)의 그룹화 열 표시
make분석 설명비트 맵 힙 스캔 (Etsuro Fujita)의 정확한 및 손실 블록 수 표시
허용구체화 된보기다른 세션이보기를 읽지 않고 새로 고침 될 것입니다 (Kevin Grittner)
이것은 완료되었습니다Refresh Restocized View 동시에.
뷰를 허용자동 업데이트Up-Updatable 열 (Dean Rasheed)을 포함하더라도
이전에는 표현식, 리터럴 및 기능 호출과 같은 업데이트 할 수없는 출력 열의 존재가 자동 업데이트를 방지합니다. 지금삽입s, 업데이트s and삭제S가 업데이트 할 수없는 열에 새 값을 할당하려고 시도하지 않는 경우 지원됩니다.
제어 허용 여부삽입s and업데이트s는보기에 나타나지 않는 자동 업데이트 가능한보기에 행을 추가 할 수 있습니다 (Dean Rasheed)
이것은 새로운 상태로 제어됩니다보기 만들기절확인 옵션.
허용보안 장벽보기자동으로 업데이트 할 수 있으려면 (Dean Rasheed)
지원 트리거 on외국 테이블(Ronan Dunklau)
하나의 테이블 스페이스에서 다른 테이블 스페이스에서 다른 객체 그룹을 이동 허용모두 테이블 스페이스에서 ... 세트 테이블 스페이스형태Alter Table, Alter Index또는구체화 된보기(Stephen Frost)
|Alter Table ... 변경 제약(Simon Riggs)
일부의 잠금 강도 감소Alter Table사령부 (Simon Riggs, Noah Misch, Robert Haas)
구체적으로제약 조건증, 클러스터 ON, 클러스터없이 설정, Alter Column Set Statistics, Alter Column SET (Attribute_Option), ALTER 열 재설정 (Attribute_Option)더 이상 요구하지 않음액세스 독점잠금.
테이블 스페이스 옵션을 설정하도록 허용테이블 스페이스 생성(Vik Fearing)
이전에는이 옵션을 통해서만 설정할 수 있습니다테이블 스페이스 변경.
허용집계 생성집계 전이 상태 데이터 (Hadi Moshayedi)의 추정 크기를 정의하려면
이 기능을 올바르게 사설 토토하여 플래너는 골재가 사설 토토 할 메모리의 양을 더 잘 추정 할 수 있습니다.
수정존재하는 경우 드롭더 많은 경우에 존재하지 않는 물체의 오류를 피하기 위해 (Pavel Stehule, Dean Rasheed)
시스템 관계가 식별되는 방법 개선 (Andres Freund, Robert Haas)
이전에, 관계는 한 번PG_CATALOG스키마를 더 이상 수정하거나 삭제할 수 없습니다.
완전히 구현line데이터 유형 (Peter Eisentraut)
라인세그먼트데이터 유형 (LSEG)는 항상 완전히 지원되었습니다. 이전line데이터 유형 (컴파일 타임 옵션을 통해서만 활성화 됨)은 이진이 아니거나 새 구현과 덤프 호환되지 않습니다.
addPG_LSNa를 나타내는 데이터 유형Wal로그 시퀀스 번호 (LSN) (Robert Haas, Michael Paquier)
수시로 UTC 오프셋을 변경하는 지원 시간대 약어 (Tom Lane)
이전,postgresql타임 존 약어와 관련된 UTC 오프셋 (예 :이라고 가정했습니다.EST) 특정 로케일의 사설 토토이 절대 변하지 않습니다. 그러나이 가정은 실제 세계에서 실패하므로 구역 약어가 때때로 변화하는 UTC 오프셋을 나타낼 수있는 능력을 도입합니다.postgresql이제 주어진 날짜에 따라 올바른 UTC 오프셋을 약어와 연결합니다.
비에 대해 5 개 이상의 숫자를 허용합니다ISO 타임 스탬프and날짜스트링, 적절한 경우 (Bruce Momjian)
오버플로/언더 플로우에 대한 점검 추가간격값 (Bruce Momjian)
addJSONB, 저장을위한보다 유능하고 효율적인 데이터 유형JSON데이터 (Oleg Bartunov, Teodor Sigaev, Alexander Korotkov, Peter Geoghegan, Andrew Dunstan)
이 새로운 유형은 JSON 문서 내에서 값에 더 빠르게 액세스 할 수 있고 JSON 열의 더 빠르고 유용한 인덱싱을 허용합니다. 스칼라 값JSONB문서는 적절한 스칼라 SQL 유형으로 저장되며 JSON 문서 구조는 원본에서와 같이 텍스트로 저장되지 않고 사전 정렬되어 있습니다.JSON데이터 유형.
자의적으로 복잡한 JSON Trees (Andrew Dunstan, Laurence Rowe)의 구성을 위해 새로운 JSON 기능을 추가합니다.
새로운 기능 포함json_array_elements_text ()
, JSON_BUILD_ARRAY ()
, json_object ()
, json_object_agg ()
, JSON_TO_RECORD ()
및JSON_TO_RECORDSET ()
.
addjson_typeof ()
a의 데이터 유형을 반환하려면JSONvalue (Andrew Tipton)
addPG_SLEEF_FOR (Interval)
andpg_sleep_until (timestamp)
지연을 더 유연하게 지정하려면 (Vik Fearing, Julien Rouhaud)
기존pg_sleep ()
함수 만 몇 초 만에 지정된 지연을 지원합니다.
addCardinality ()
배열 기능 (Marko Tiikkaja)
이것은 배열의 총 요소 수를 반환하거나 요소가없는 배열의 경우 0을 반환합니다.
addSQL허용 기능큰 물체 읽기/쓰기임의의 오프셋 (Pavel Stehule)
허용UNNEST ()
개별적으로 해제되지 않은 다음 수평으로 연결된 여러 인수를 받으려면 (Andrew Gierth)
구성 할 기능 추가Times, 날짜s, 타임 스탬프s, TimesTamptzs 및간격strings가 아닌 개별 값 (Pavel Stehule)
이 함수의 이름은 접두사입니다.make_, 예 :make_date ()
.
maketo_char ()
'sTZ형식 지정자 간단한 숫자 시간대 오프셋에 유용한 값을 반환합니다 (Tom Lane)
이전,to_char (current_timestamp, 'tz')이면 빈 문자열을 반환했습니다TimeZone|-4.
시간대 오프셋 형식 지정자 추가oftoto_char ()
(Bruce Momjian)
사용되는 임의의 종자 개선random ()
(Honza Horak)
유효성 강화 유효 조임 유니 코드 코드 포인트chr (int)
(Tom Lane)
이 기능은 이제 RFC 3629에 따라 유효한 UTF8 문자 인 값 만 허용합니다.
개체를 찾는 기능 추가PG_CLASS, PG_PROC, pg_type및pg_operator존재하지 않는 물체 (Yugo Nagata, Nozomi Anzai, Robert Haas)에 대한 오류를 생성하지 않는
예를 들어to_regclass ()
에서 조회를합니다PG_CLASS유사하게Regclass입력 함수이지만 실패 대신 존재하지 않는 객체에 대해 NULL을 반환합니다.
함수 추가PG_FILENODE_RELATION ()
Filenodes (Andres Freund)의 관계 이름을보다 효율적으로 조회 할 수 있도록
addParameter_Default열 toInformation_schema.parametersView (Peter Eisentraut)
makeInformation_schema.schemata모든 접근 가능한 스키마 (Peter Eisentraut) 표시
이전에는 현재 사용자가 소유 한 스키마 만 보여주었습니다.
|필터절 (David Fetter)
주문 세트 지원 (그룹 내) 집계 (Atri Sharma, Andrew Gierth, Tom Lane)
표준 순서 세트 집계 추가백분위 수석 ()
, alterile_disc ()
, mode ()
, RANK ()
, dense_rank ()
, cents_rank ()
및cume_dist ()
(Atri Sharma, Andrew Gierth)
지원variadic집계 함수 (Tom Lane)
다형성 응집체가 비 폴리 폼 상태 데이터 유형 (Tom Lane)을 갖도록 허용합니다.
이것은 내장 집계와 같은 집계의 SQL에서 적절한 선언을 허용합니다array_agg ()
.
convert숫자값 to소수점inpl/python(Szymon Guz, Ronan Dunklau)
이전에 그러한 값이 Python으로 변환되었습니다float값, 정밀도 손실 위험.
현재 PL/PGSQL 통화 스택을 검색하는 기능 추가진단 받기(Pavel Stehule, Stephen Frost)
옵션 추가print_strict_paramsa를 위반 한 쿼리에 전달 된 매개 변수를 표시하려면엄격한제약 (Marko Tiikkaja)
변수 추가plpgsql.extra_warningsandplpgsql.extra_errors추가 PL/PGSQL 경고 및 오류를 활성화하려면 (Marko Tiikkaja, Petr Jelinek)
현재 그림자 변수에 대한 경고/오류 만 사설 토토할 수 있습니다.
libpq 만들기pqConnDefaults ()
함수 잘못된 서비스 파일을 무시합니다 (Steve Singer, Bruce Momjian)
이전에 잘못된 서비스 파일이 발생하면 NULL을 반환했습니다.
수락TLS그 이상의 프로토콜 버전TLSV1In Libpq (Marko Kreen)
addCreateUser옵션-g역할 멤버십 (Christopher Browne)을 지정하려면
addVACUUMDB옵션-Analyze-in-Stages세분화 증가 단계에서 분석하려면 (Peter Eisentraut)
이것은 최소한의 통계를 신속하게 만들 수 있습니다.
makePG_RESETXLOG옵션-n출력 전류 및 잠재적으로 변경된 값 (rajeev rastogi)
makeinitdb기본 선택 (Tom Lane)으로 조용히 떨어지지 않고 잘못된 로케일 설정에 대한 오류를 던지십시오.
makePG_CTL종료 코드 리턴4접근 할 수없는 데이터 디렉토리 (Amit Kapila, Bruce Momjian)
이 동작은 Linux 표준 기반 (와 더 밀접하게 일치합니다.LSB) 핵심 사양.
Windows에서, 비자가 아닌지 확인하십시오-d경로 사양은에 따라 해석됩니다.PG_CTL의 현재 디렉토리 (Kumar Rajeev Rastogi)
이전에는 기본 Windows 서비스가 시작된 디렉토리에 비해 해석 될 것입니다.
허용sizeof ()
inECPGC 배열 정의 (Michael Meskes)
makeECPGC 및에서 C 스타일 주석의 중첩을 올바르게 처리합니다SQL텍스트 (Michael Meskes)
억제"노수 없음"출력PSQL 확장바닥 글이 비활성화 된 경우 모드 (Bruce Momjian)
Control-C가 중단하도록 허용PSQLConnection Startup에 매달릴 때 (Peter Eisentraut)
makePSQL's\ db+테이블 스페이스 옵션 표시 (Magnus Hagander)
make\ do+연산자 (Marko Tiikkaja)를 구현하는 함수를 표시합니다
make\ d+출력 anOIDOID열에 열이 있습니다 (Bruce Momjian)
이전에,의 유무OID열은 항상보고되었습니다.
make\ dShow Disabled System Triggers (Bruce Momjian)
이전에 모든 트리거를 비활성화하면 사용자 트리거 만 비활성화 된 것으로 표시됩니다.
수정\ copy더 이상 공간이 필요하지 않으려면Stdin및 세미콜론 (Etsuro Fujita)
끝에서 행 카운트를 출력\ copy, 좋아요COPY이미 (Kumar Rajeev rastogi)
수정\ conninfo서버를 표시하려면IP사설 토토을 사설 토토하는 연결 주소hostaddr(Fujii Masao)
이전\ conninfo서버를 표시 할 수 없음IP그러한 경우 주소.
표시SSL프로토콜 버전\ conninfo(Marko Kreen)
탭 완료 추가\ pset(Pavel Stehule)
허용\ pset모든 설정을 보여줄 인수가없는 (Gilles Darold)
make\ s절대 경로 (Tom Lane)로 변환하지 않고 기록 된 히스토리 파일의 이름을 표시합니다.
코드는 이전에 상대 파일 이름을 절대 경로로 변환하려고 시도했지만 종종 잘못되었습니다.
허용PG_RESTORE옵션-i, -p, -tand-n여러 번 지정할 (Heikki Linnakangas)
이것은 한 번의 작업에서 여러 객체를 복원 할 수 있습니다.
선택적으로 추가존재하는 경우클로즈드롭복원 중에 오래된 물체를 제거 할 때 방출 된 명령 (Pavel Stehule)
이 변경은 오래된 개체를 제거 할 때 불필요한 오류를 방지합니다. 새로운-IF-Exists옵션pg_dump, pg_dumpall및PG_RESTORE-Clean지정되어 있습니다.
addPG_BASEBACKUP옵션-xlogdir지정하려면PG_XLOG디렉토리 위치 (Haribabu Kommi)
허용PG_BASEBACKUP백업 사본 (Steeve Lennmark)에서 테이블 스페이스를 재배치하려면
이것은 특히 사설 토토하는 데 유용합니다PG_BASEBACKUP기본과 동일한 기계에서.
네트워크 스트림베이스 백업이 조절되도록 허용 (Antonin Houska)
이것은로 제어 할 수 있습니다PG_BASEBACKUP ---max-rate매개 변수.
법의학 정보를 보존하기 위해 튜플이 얼어 붙는 방식 향상 (Robert Haas, Andres Freund)
이 변화는 가능한 빨리 튜플을 얼리는 것에 대한 주요 반대 의견을 제거합니다. 튜플 플래그 비트를 검사하는 코드를 수정해야합니다.
더 이상 기능에 대한 기능 프로토 타입이 필요하지 않습니다.pg_function_info_v1
매크로 (Peter Eisentraut)
이 변경은 보일러 플레이트 프로토 타입을 작성할 필요가 없습니다.pg_function_info_v1
컴파일러 경고를 피하기 위해 해당 함수 정의 전에 매크로가 나타나야합니다.
제거SnapshotNowandHeaptuplesAtisnow ()
(Robert Haas)
기존의 모든 용도는보다 적절한 스냅 샷 유형으로 전환되었습니다. 카탈로그 스캔은 이제 사용MVCC스냅 샷.
ATAPI하나의 기가 바이트 (Noah Misch)에 대한 메모리 할당을 허용하려면
addpsprintf ()
문자열 구성 중에 메모리 할당을 단순화하려면 (Peter Eisentraut, Tom Lane)
지원printf ()
크기 수정 자z인쇄 할size_t값 (Andres Freund)
변경APIofAppendStringInfova ()
더 잘 사설 토토하려면vsnprintf ()
(David Rowley, Tom Lane)
새로운 유형의 외부 토스트 데이텀을 만들 수 있습니다 (Andres Freund)
단일 독자, 단일 작가, 경량 공유 메시지 대기열 추가 (Robert Haas)
x86_64에서 스핀 락 속도 향상CPUS (Heikki Linnakangas)
지원되지 않는 플랫폼에 대한 스핀 락 지원 제거sinix, Sun3및NS32K(Robert Haas)
제거irix포트 (Robert Haas)
|-disable-spinlocks빌드 (Robert Haas)
다시 쓰기Duplical_oids유니 쉘 스크립트 inPerl(Andrew Dunstan)
테스트 추가 프로토콜 추가 (탭) 클라이언트 프로그램 테스트 (Peter Eisentraut)
현재이 테스트는에 의해 실행됩니다.체크 월드 만들기-enable-tap-tests옵션이 제공되었습니다구성. 이것은 향후 사설 토토에서 기본 동작이 될 수 있습니다.
대상 만들기 추가체크 테스트and설치 검사 테스트, 개별 테스트를 실행할 수있는 (Andrew Dunstan)
제거관리자-체크Makefile Rule (Peter Eisentraut)
기본 빌드 규칙에는 이제 이전의 모든 옵션 테스트가 포함됩니다.
지원 향상vpath빌드PGXS모듈 (Cédric Villemain, Andrew Dunstan, Peter Eisentraut)
Autoconf 2.69 (Peter Eisentraut)로 업그레이드
A 추가구성사용자 정의 텍스트를 첨가하는 플래그pg_versionString (Oskari Saarenmaa)
이것은 포장기를 구축하는 데 유용합니다.
Docbook 향상XML타당성 (Peter Eisentraut)
|표지스캐너 (Stephen Frost)
테스트 할 때 유효하지 않은 메모리 사용의 감지 개선postgresqlwithValgrind(Noah Misch)
샘플 향상emacs구성 파일emacs.samples(Peter Eisentraut)
또한 추가.dir-locals.el소스 트리의 상단으로.
허용Pgindenttypedefs (Bruce Momjian)의 명령 줄 목록을 수락하려면
makePgindent전처리 조건부 (Bruce Momjian) 주변의 빈 줄에 대한 똑똑한
대부분의 사설 토토을 피하십시오dlltoolinCygwinandMingw빌드 (Marco Atzeri, Hiroshi Inoue)
클라이언트 전용 설치 지원MSVC(Windows) 빌드 (Maumau)
addpg_prewarm서버 시작시 공유 버퍼 캐시로의 관계 데이터를 예비로드하기위한 확장
이것은 전체 운영 성능에 더 빠르게 도달 할 수 있습니다.
adduuid랜덤 번호 생성기gen_random_uuid ()
topgcrypto(Oskari Saarenmaa)
버전 4를 생성 할 수 있습니다uuid설치없이uuid-sossp.
허용uuid-sosspBSD또는E2FSPROGUUID 라이브러리,OSSPUUID 라이브러리 (Matteo Beccati)
이것은를 향상시킵니다uuid-sossp모듈의 이식성은 더 이상 점점 더 관찰 된 OSSP 라이브러리를 가질 필요가 없기 때문입니다. 모듈의 이름은 이제 오히려 잘못된 이름이지만 변경하지는 않습니다.
옵션 추가auto_explain트리거 실행 시간 (Horiguchi Kyotaro) 포함
수정pgstattuple커밋되지 않은 트랜잭션의 행을 죽음으로보고하지 않으려면 (Robert Haas)
makepgstattuple함수 사설 토토Regclass-유형 인수 (Satoshi nagayasu)
while텍스트-유형 인수는 여전히 뒷받침되며 향후 주요 릴리스에서 제거 될 수 있습니다.
일관성 향상pgrowlocks스냅 샷 규칙을 더 일관되게 존중하기위한 출력 (Robert Haas)
개선PG_TRGM의 색인 정규식 검색을위한 트리 그램 선택 (Alexander Korotkov)
이 변화는 일반적으로 덜 선택적인 공백을 함유 한 트리 그램의 사설 토토을 권장하지 않습니다.
허용pg_xlogdump라이브 로그 스트림을보고하려면-팔로우(Heikki Linnakangas)
Store큐브데이터보다 컴팩트하게 (Stas Kelvich)
새 형식을 사용하려면 기존 데이터를 덤프/복원해야합니다. 이전 형식은 여전히 읽을 수 있습니다.
감소Vacuumlo커서 (Andrew Dunstan)를 사용하여 클라이언트 측 메모리 사용량
메모리 소비 감소pg_upgrade(Bruce Momjian)
Passpg_upgrade의 사설 토토자 이름 (-u) 생성 된 분석 스크립트 (Bruce Momjian)
라인 길이 제한 제거pgbench스크립트 (Sawada Masahiko)
이전 줄 제한은입니다.Bufsiz.
긴 옵션 이름 추가pgbench(Fabien Coelho)
addpgbench옵션-레이트거래율을 제어하려면 (Fabien Coelho)
addpgbench옵션--progress정기 진행 보고서를 인쇄하려면 (Fabien Coelho)
makepg_stat_statements쿼리 텍스트 저장소 (Peter Geoghegan) 용 메모리를 공유하지 않고 파일을 사용합니다.
이것은 쿼리 텍스트 길이의 이전 제한을 제거하고 기본적으로 더 많은 수의 고유 문을 추적 할 수 있습니다..
보고 허용pg_stat_statements의 내부 쿼리 해시 식별자 (Daniel Farina, Sameer Thakur, Peter Geoghegan)
모두 검색 기능 추가pg_stat_statements쿼리 텍스트를 제외한 정보 (Peter Geoghegan)
이렇게하면 모니터링 도구가 방금 제작 된 항목에 대해서만 쿼리 텍스트를 가져와 통계의 반복 쿼리 중에 성능을 향상시킬 수 있습니다..
makepg_stat_statements무시딜 로이징명령 (Fabien Coelho)
이미 무시되었습니다준비, 일반적으로 계획 시간뿐만 아니라 더 일관된 것 같습니다.
통계 파일 저장$ pgdata/pg_stat서버 종료에서$ pgdata/global(Fujii Masao)