릴리스 노트

PostgreSQL 8.3.0

E.24. 릴리스 8.3

출시 날짜 : 2008-02-04

E.24.1. 개요

상당한 새로운 기능과 성능을 갖춘 향상,이 릴리스는에 대한 주요 도약을 나타냅니다.PostgreSQL. 이것은 만들어졌습니다

  • 전체 텍스트 검색이 핵심 데이터베이스에 통합되어 윈 토토 체계

  • 신규를 포함한 SQL/XML 표준 지원 운영자 및 anXML데이터 유형

  • 열거 된 데이터 유형 (enum)

  • 복합 유형의 배열

  • 보편적으로 고유 한 식별자 (uuid) 데이터 유형

  • 제어 추가NULLs 먼저 또는 마지막으로 정렬

  • 업데이트 가능한 커서

  • 서버 구성 매개 변수를 설정할 수 윈 토토 기능 당 기준

  • 사용자 정의 유형은 이제 유형 수정자를 가질 수 윈 토토

  • 테이블시 쿼리를 자동으로 다시 계획합니다 정의 변경 또는 통계가 업데이트 됨

  • 로깅 및 통계의 수많은 개선 수집

  • 보안 서비스 제공 업체 인터페이스 지원 (SSPI) Windows에서 인증

  • 다중 동시 동시자가 프로세스 프로세스를 지원합니다 기타 Autovacuum 개선

  • 전체 허용PostgreSQL편집 할 분포 와 함께Microsoft Visual C ++

주요 성능 향상은 다음과 같습니다. 대부분의

  • 비동기 커밋 지연은 WAL에 쓴다 거래 커밋

  • Checkpoint 쓰기는 더 오랜 시간에 걸쳐 퍼질 수 윈 토토 각 체크 포인트 중에 I/O 스파이크를 부드럽게하는 기간

  • 힙 전용 튜플 (hot) 대부분의 공간 재사용 가속화업데이트s and삭제s

  • 정시 배경 작가 전략은 디스크를 향상시킵니다 쓰기 효율성

  • 읽기 전용에 대한 비 연개 트랜잭션 ID 사용 거래는 오버 헤드를 줄이고진공요구 사항

  • 당사자 및 당당 저장소 오버 헤드가 윈 토토 줄인

  • 큰 순차적 스캔이 더 이상 자주 발생하지 않습니다 중고 캐시 페이지

  • 동시 대규모 순차적 스캔은 이제 디스크를 공유 할 수 윈 토토 읽기

  • 주문별 주문수행 할 수 윈 토토 정렬없이

위 항목은 섹션에서 자세히 설명되어 윈 토토. 아래에.

E.24.2. 버전 8.3으로의 마이그레이션

덤프/복원 사용pg_dump원하는 사람들에게는 필요합니다 이전 릴리스에서 데이터를 마이그레이션합니다.

다음과 비 호환성을 관찰하십시오 :

E.24.2.1. 일반적인

  • 비 문자 데이터 유형은 더 이상 자동으로 없습니다 캐스트텍스트(Peter, Tom)

    이전에, 비 문자 값이 공급 된 경우 필요한 연산자 또는 기능텍스트입력, 자동으로 캐스트되었습니다텍스트, 대부분의 경우 (전부는 아니지만) 내장 데이터 유형.텍스트이제 필요합니다 모든 비 문자열 유형.

    substr (current_date, 1, 4)'2%'처럼 23

    하지만 이제 그려 질 것입니다"함수가 윈 토토 존재하지 않는다 ""연산자가합니다 존재하지 않는다 "오류 각각. 명백한 것을 사용하십시오

    substr (current_date :: text, 1, 4)23 :: '2%'와 같은 텍스트

    (물론, 더 많은 장점을 사용할 수 윈 토토cast ()구문도 변화는 이러한 자동 캐스트가 너무 자주 발생했다는 것입니다

    current_date <2017-11-17

    이것은 실제로 날짜를 정수와 비교하는 것입니다. 거절되어야하지만텍스트그리고 텍스트 비교가 이루어졌습니다. 때문에텍스트 <텍스트운영자는 다른 사람이 없을 때 표현식과 일치 할 수있었습니다<운영자가.

    typeschar (n)varchar (n)여전히 캐스트텍스트자동으로. 또한 자동 캐스팅텍스트여전히 연합에 대한 입력에 대해 작동합니다 (||) 연산자, 최소 하나의 입력 캐릭터 스트링 유형입니다.

  • 전체 텍스트 검색 기능​​Contrib/Tsearch2약간의 구문이 변경된 핵심 서버

    ​​Contrib/Tsearch2지금 호환성 인터페이스를 포함합니다.

  • 배열 (선택 ...), 여기서select지금은 행을 반환합니다 null (tom) 대신 빈 배열을 반환합니다

  • 기본 데이터 유형의 배열 유형 이름이 더 이상 없음 밑줄 접두사가있는 기본 유형의 이름은 항상

    오래된 이름 지정 컨벤션은 여전히 ​​영광입니다 가능하지만 응용 프로그램 코드는 더 이상 의존하지 않아야합니다pg_type.typarray열을 식별하려면 주어진 유형과 관련된 배열 데이터 유형.

  • 주문 주문 운영자이제 덜 사용해야합니다 또는 더 큰운영자Btree 연산자 클래스에 정의되어 윈 토토

    이 제한은 일관성이 없어 지도록 추가되었습니다 결과.

  • 로컬 설정이제 변경이 지속됩니다 롤링되지 않는 한 가장 바깥 쪽 트랜잭션이 끝날 때까지

    이전로컬 설정's Subrantaction Commit ( 후 효과가 손실되었습니다.릴리스 SavePoint또는 PL/PGSQL에서 종료합니다 예외 블록).

  • 트랜잭션 블록에서 거부 된 명령도 이제 윈 토토 다중 진료 쿼리 문자열 (TOM)에서 거부

    예를 들어"시작; 드롭 데이터 베이스;이제도 거부됩니다 단일 쿼리 메시지로 제출되었습니다.

  • 롤백외부 a 트랜잭션 블록이 이제 문제통지대신경고(브루스)

  • 예방Notify/듣기/Unlisten스키마 자격을 수락하여 (Bruce)

    이전에는이 ​​명령이 허용 됨schema.relation그러나 스키마를 무시했습니다 혼란 스러웠던 부분.

  • Alter Sequence더 이상 시퀀스의 영향currval ()State (Tom)

  • 외국 키는 이제 인덱스 가능한 조건과 일치해야합니다 교차 데이터 유형 참조 (Tom)

    이것은 의미 론적 일관성을 향상시키고 피하는 데 도움이됩니다 성능 문제.

  • 객체 크기 기능을 보유한 사용자에게 제한합니다 그러한 정보를 볼 수있는 합리적인 권한 (TOM)

    예를 들어pg_database_size ()지금 필요Connect허가입니다 기본적으로 모든 사람에게 부여.pg_tablespace_size ()요구생성허가 테이블 스페이스 또는 테이블 스페이스가 인 경우 허용됩니다

  • 문서화되지 않은 제거!!=(NOT) 연산자 (TOM)

    Not In (select ...)is 이 작업을 수행하는 적절한 방법.

  • 내부 해싱 함수가 더 많습니다 균일하게 분산 된 (Tom)

    응용 프로그램 코드가 해시를 계산하고 저장 한 경우 내부를 사용한 값PostgreSQL해싱 함수, the 해시 값은 재생되어야합니다.

  • 가변 길이 데이터를 처리하기위한 C 코드 규칙 값이 변경되었습니다 (Greg Stark, Tom)

    새로운set_varsize ()매크로필수be 생성 된 길이를 설정하는 데 사용Varlena값. 또한 필요할 수도 윈 토토"De-toast") 입력 더 많은 경우 값.

  • Continuous Archiving은 더 이상 성공하지 못했습니다 서버 로그에 대한 아카이브 작동디버그레벨이 사용됩니다 (Simon)

E.24.2.2. 구성 매개 변수

  • 관리 서버의 수많은 변경 매개 변수

    bgwriter_lru_percent, bgwriter_all_percent, bgwriter_all_maxpages, stats_start_collectorstats_reset_on_server_start제거되었습니다.Redirect_stderr이름이 바뀌 었습니다logging_collector. stats_command_string이름이 바뀌 었습니다track_activities. stats_block_levelstats_row_leveltrack_counts. 새로운 부울 구성archive_mode, 아카이브를 제어합니다.

  • 제거stats_start_collector매개 변수 (TOM)

    우리는 이제 항상 수집기 프로세스를 시작합니다.UDP소켓 생성 실패.

  • 제거stats_reset_on_server_start매개 변수 (남자 이름)

    이것은 제거 되었기 때문에pg_stat_reset ()이를 위해 사용할 수 윈 토토 목적.

  • 매개 변수 주석on이제 반복을 일으킨다 기본값 (Joachim Wieland)

    이전에 항목을 댓글을 달았습니다 매개 변수의 값은 다음 서버까지 변경되지 않았습니다

E.24.2.3. 캐릭터 인코딩

  • 잘못 인코딩 된 데이터에 대한 더 많은 검사를 추가합니다 (앤드류)

    이 변경 사항은 문자 그대로 존재하는 구멍을 막습니다 백 슬래시 탈출 문자열 처리 및copy탈출 처리. 이제 탈퇴했습니다

  • 일치하지 않는 데이터베이스 인코딩을 허용하지 않습니다 서버의 로케일 설정 (Tom)

    대부분의 플랫폼에서C로케일 모든 데이터베이스와 함께 작동하는 유일한 로케일입니다.어퍼 ()또는lower ().) 이제 서버가 거부됩니다 호환되지 않는 데이터베이스를 작성하려고 시도합니다

  • chr ()할 수 없습니다 무효로 인코딩 된 값 생성 (Andrew)

    UTF8에 인코딩 된 데이터베이스의 인수chr ()이제 유니 코드로 취급됩니다 가리키다.chr ()의 인수는 7 비트를 지정해야합니다 ASCII 캐릭터.ascii ()일치하도록 조정되었습니다.

  • 조정convert ()인코딩 유효성을 보장하기위한 행동 (Andrew)

    두 개의 인수 형태convert ()제거되었습니다. 세BYTEA첫 번째 인수 및 반환BYTEA. 기능 상실을 다루기 위해 세 가지 새로운 기능

    • convert_from (bytea, 이름)반환텍스트- 첫 번째 인수를 명명 된 인코딩에서 변환합니다

    • convert_to (텍스트, 이름)반환BYTEA- 데이터베이스에서 첫 번째 인수를 변환합니다

    • 길이 (bytea, name)반환정수-주는 문자의 첫 번째 인수의 길이

  • 제거변환 (인수 사용 converion_name)(Andrew)

    그 동작은 SQL 표준과 일치하지 않았습니다.

  • Johab을 클라이언트 전용 (Tatsuo)을 인코딩하게합니다

    Johab은 서버 측 인코딩으로 안전하지 않습니다.

E.24.3. 변화

아래에 변경 사항에 대한 자세한 설명이 윈 토토. 사이PostgreSQL8.3 및 이전 주요 릴리스.

E.24.3.1. 성능

  • 비동기 커밋 지연은 WAL에 WAL에 씁니다 거래 커밋 (Simon)

    이 기능은 성능을 크게 증가시킵니다 짧은 데이터 수정 거래.fsync, 사용 비동기 커밋은 데이터베이스 일관성을 부여하지 않습니다synchronous_commit(가능할 수 있습니다 일부 거래 인 경우 세션 당 또는 전송 당 수행Wal_writer_delay조정할 수 있습니다 거래 전에 최대 지연을 제어하십시오

  • Checkpoint 쓰기는 더 오랜 시간에 걸쳐 퍼질 수 윈 토토 각 체크 포인트 동안 I/O 스파이크를 부드럽게하는 기간

    이전에 모든 수정 된 버퍼는 디스크로 강제되었습니다 체크 포인트 중에 가능한 빨리 빠르게 I/O를 유발합니다

  • 힙 전용 튜플 (hot) 대부분의 공간 재사용 가속화업데이트s and삭제s (Pavan Deolasee, 아이디어가 포함되어 윈 토토 많은 다른 사람들)

    업데이트s and삭제s 죽은 튜플을 뒤로 남겨 두십시오 실패한삽입s. 이전에만진공공간을 회수 할 수 윈 토토 죽은 튜플에 의해.hot죽은 튜플 공간이 될 수 윈 토토 시점에 자동으로 되돌아삽입또는업데이트인덱스 된 열을 변경하지 않으면. 이것은 허용합니다hot중복 인덱스 추가를 피하십시오 항목.

  • 정시 배경 작가 전략은 디스크를 향상시킵니다 쓰기 효율성 (Greg Smith, Itagaki Takahiro)

    이것은 수동 튜닝의 필요성을 크게 줄입니다. 배경 작가.

  • 당사자 및 당당 저장소 오버 헤드가 윈 토토 축소 (Greg Stark, Heikki Linnakangas)

    데이터 값이 적은 가변 길이 데이터 유형 128 바이트 길이는 스토리지가 3에서 6까지 감소하는 것을 볼 수 있습니다.char (1)필드는 이제 16 대신 4 바이트를 사용합니다. 행 헤더도 이전보다 4 바이트가 짧습니다.

  • 읽기 전용에 대한 비 연개 트랜잭션 ID 사용 거래는 오버 헤드를 줄이고진공요구 사항 (Florian Pflug)

    비기능 트랜잭션 ID가 증가하지 않습니다 글로벌 트랜잭션 카운터.PG_CLOG및 증가 트랜잭션 ID를 방지하기 위해 강제 진공 청소기 사이의 시간

  • a 읽기 전용 명령 (Tom)

    이전에는 2의 단단한 제한이있었습니다32(4 거래 당 10 억) 명령.

  • 전용 생성Wal작가 프로세스를 오프로드 작업 Backendend (Simon)에서

  • 불필요한 WAL을 건너 뛰기클러스터copy(Simon)

    WAL 아카이빙이 활성화되지 않으면 이제 시스템을 피합니다 Wal은클러스터and justfsync ()테이블의 명령의 끝.copy테이블이 동일하게 생성 된 경우 거래.

  • 큰 순차 스캔이 더 이상 자주 발생하지 않습니다 중고 캐시 페이지 (Simon, Heikki, Tom)

  • 동시 대규모 순차적 스캔은 이제 디스크를 공유 할 수 윈 토토 읽기 (Jeff Davis)

    이것은 새로운 순차를 시작하여 달성됩니다 테이블 중앙에서 스캔 (다른 순차적 인 곳주문 by. 그만큼synchronize_seqscans구성 필요한 경우 매개 변수를 사용하여이를 비활성화 할 수 윈 토토.

  • 주문별 주문할 수 윈 토토 정렬없이 완료 (Greg Stark)

    이것은 테이블을 순차적으로 스캔하여 수행됩니다 추적"Top N"후보 행은 전체 종류를 수행하는 대신 전체 테이블.Limit그렇지 않습니다 크기가 큰.

  • 통계로 전송 된 메시지에 요율 제한을 넣습니다. 백엔드의 수집가 (Tom)

    이것은 짧은 거래의 오버 헤드를 줄이지 만 통계가 있기 전에 때때로 지연이 증가 할 수 윈 토토

  • 많은 사례에 대한 해시 조인 성능을 향상시킵니다 널 (Tom)

  • 발행이 아닌 경우를위한 속도 업 연산자 조회 Datatype Matches (Tom)

E.24.3.2. 섬기는 사람

  • Autovacuum은 이제 기본적으로 활성화되었습니다 (Alvaro)

    단점을 제거하기 위해 몇 가지 변화가 이루어졌습니다 autovacuum을 활성화시켜 정당화

  • 다중 동시자가 공정 프로세스를 지원합니다 (Alvaro, Itagaki Takahiro)

    이것은 여러 진공 청소기가 동시에 실행될 수 있도록합니다. 이것

  • 테이블시 쿼리를 자동으로 다시 계획합니다 정의 변경 또는 통계가 업데이트 됨 (TOM)

    이전에 참조 한 PL/PGSQL 기능 임시 테이블이 있으면 임시 테이블이 실패합니다execute가 사용되었습니다. 이것

  • 추가temp_tablespaces임시 테이블의 테이블 스페이스를 제어하는 ​​매개 변수 및 파일 (Jaime Casanova, Albert Cervera, Bernd

    이 매개 변수는 테이블 스페이스 목록을 정의합니다 사용된.pgsql_tmp/디렉토리이지만 테이블 당 디렉토리.

  • 임시 테이블을 특별히 배치하십시오 스키마 명명PG_TOAST_TEMP_NNN(Tom)

    이를 통해 저수준 코드가 이러한 테이블을 인식 할 수 윈 토토 임시로, 이와 같은 다양한 최적화를 가능하게합니다

  • 새로운 연결의 지속적인 흐름을 고치는 문제를 해결하십시오 요청은 우체국을 무기한 지연시킬 수 있습니다

  • 매우 낮은 확률 데이터 손실에 대한 보호 삭제 된 테이블의 재사용을 방지하여 시나리오

  • 수정제약 조건 트리거 생성구식 외국 키 트리거 정의를 변환하려면 정기적 인 외국 주요 제약 조건 (Tom)

    이것은 외국의 주요 제약 조건의 포팅을 용이하게합니다 7.3 이전 데이터베이스에서 이월 된 경우Contrib/Adddepend.

  • 수정기본 널재정의 상속 기본값 (Tom)

    기본 널이전에 소음 구절을 고려했지만 지금은해야합니다.

  • 새 인코딩 추가 EUC_JIS_2004 및 SHIFT_JIS_2004 (Tatsuo)

    이 새로운 인코딩은 전환 할 수 있습니다 UTF-8.

  • 서버 시작 로그 메시지 변경"데이터베이스 시스템이 준비되었습니다"to"데이터베이스 시스템이 수락 할 준비가되었습니다 사이"및 타이밍 조정

    메시지는 이제 우체국 마스터가있을 때만 나타납니다 연결을 수락 할 준비가되었습니다.

E.24.3.3. 모니터링

  • addlog_autovacuum_min_duration매개 변수로 Autovacuum 활동의 구성 가능한 로깅을 지원합니다

  • addlog_lock_waits매개 변수 로그 잠금 대기 (Simon)

  • addlog_temp_files매개 변수 임시 파일 사용 (Bill Moran)을 기록하려면

  • addlog_checkpoints매개 변수 체크 포인트의 로깅을 개선하려면 (Greg Smith,

  • log_line_prefix지금 지원%s%C모든 프로세스에서 탈출 (Andrew)

    이전 에이 탈출은 사용자를 위해만 작동했습니다 배경 데이터베이스 프로세스가 아닌 세션.

  • addlog_restartpointsto Point-in-Time Recovery의 제어 로깅이 다시 시작됩니다

  • 마지막 트랜잭션 종료 시간은 이제 끝에 기록됩니다. 복구 및 각 로그인 된 재시작 지점 (Simon)에서

  • Autovacuum은 이제 활동 시작 시간을보고합니다pg_stat_activity(Tom)

  • Comma-Separated value (CSV)에서 서버 로그 출력 허용 형식 (Arul Shaji, Greg Smith, Andrew Dunstan)

    CSV 형식 로그 파일을 쉽게로드 할 수 윈 토토 후속 분석을위한 데이터베이스 테이블.

  • PostgreSQL-Supplied Timezone 지원을 사용하십시오 서버 로그에 표시된 타임 스탬프 형식

    이것은 현지화 된 Windows 특정 문제를 피합니다 잘못된 인코딩에있는 시간대 이름.log_timezone매개 변수 로그 메시지에 사용되는 시간대를 제어하고TimeZone매개 변수.

  • 새로운 시스템보기PG_STAT_BGWRITER통계를 표시합니다 배경 작가 활동 (Magnus)

  • 데이터베이스 전체 튜플 통계에 대한 새 열 추가PG_STAT_DATABASE(Magnus)

  • 추가XACT_START(트랜잭션 시작 시간) 열로pg_stat_activity(Neil)

    이것은 장기 실행을 더 쉽게 식별 할 수있게합니다 업무.

  • addn_live_tuplesn_dead_tuples열로pg_stat_all_tables및 관련 보기 (Glen Parker)

  • 병합stats_block_levelstats_row_level매개 변수 단일 매개 변수track_counts, 통계로 전송 된 모든 메시지를 제어합니다

  • Renamestats_command_string매개 변수 totrack_activities(Tom)

  • 살아있는 튜플의 통계적 계산을 수정하십시오 헌신적이고 중단 된 거래는 가지고 있음을 인식하십시오

E.24.3.4. 입증

  • 지원 보안 서비스 제공 업체 인터페이스 (SSPI) Windows의 인증 (Magnus)

  • 지원 GSSAPI 인증 (Henry Hotz, Magnus)

    이것은 네이티브 Kerberos보다 선호되어야합니다 GSSAPI가 산업이기 때문에 인증

  • 글로벌 SSL 구성 파일을 지원합니다 (Victor 바그너)

  • addSSL_CIPHERS매개 변수로 통제 허용 SSL 암호 (Victor Wagner)

  • Kerberos Realm 매개 변수 추가,​​KRB_REALM(Magnus)

E.24.3.5. write-aead log (Wal) 및 연속 보관

  • 트랜잭션 WAL에 기록 된 타임 스탬프를 변경합니다 time_t에서 timestamptz 표현까지 레코드

    이것은 WAL에서 초 초 분해능을 제공합니다 시점 복구에 유용합니다.

  • 따뜻한 대기 서버에서 필요한 WAL 디스크 공간을 줄입니다 (사이먼)

    이 변경 사항은 따뜻한 대기 서버가 아직까지 필요한 WAL 파일의 이름%rinRestore_command매개 변수on.

  • 새로운 부울 구성 매개 변수,archive_mode, 컨트롤 아카이빙 (사이먼)

    이전 설정archive_command빈 문자열로 돌 렸습니다 아카이브에서.archive_mode독립적으로 아카이브를 켜고 끄는 회전archive_command. 이것은 유용합니다

E.24.3.6. 쿼리

  • 전체 텍스트 검색이 핵심 데이터베이스에 통합되어 있습니다 시스템 (Teodor, Oleg)

    텍스트 검색이 개선되어 코어로 이동했습니다 코드, 이제 기본적으로 설치되었습니다.​​Contrib/Tsearch2이제 a 호환성 인터페이스.

  • 제어 추가NULLs 정렬 첫 또는 마지막 (Teodor, Tom)

    구문은주문에 의한 주문 첫 번째/마지막.

  • 컬럼 당 오름차순 허용/하강 (ASC/desc) 인덱스 주문 옵션 (Teodor, Tom)

    이전에 쿼리를 사용하여순서 에 의해혼합ASC/desc지정자는 인덱스를 완전히 사용할 수 없습니다. 이제 색인이 할 수 윈 토토ASC/desc사양.NULL인덱스 내에서 순서를 정렬 할 수 윈 토토 통제도

  • 허용col is null사용하려면 인덱스 (Teodor)

  • 업데이트 가능한 커서 (Arul Shaji, Tom)

    이것은 기본 키를 참조 할 필요가 없어업데이트또는삭제커서가 반환했습니다. 그만큼현재 위치를 업데이트/삭제합니다 의.

  • 허용업데이트커서에서 (Arul Shaji, Tom)

  • 캐스트를 지원하는 일반적인 메커니즘을 만듭니다 표준 문자열 유형 (에서텍스트, Varchar, char) forEveryDatatype, 호출 데이터 유형의 I/O 함수 (TOM)

    이전에, 그러한 캐스트는 유형에 대해서만 사용할 수있었습니다 그것은 목적을 위해 특수한 기능을 가지고있었습니다.

  • 허용Union및 관련 모든 입력이있는 경우 도메인 유형을 반환하도록 구성합니다.

    이전에 출력은 도메인의 기본 유형.

  • 두 개의 다른 데이터를 사용할 때 제한된 해싱 허용 유형 (Tom)

    해시 조인, 해시 인덱스, 해시 서브 플랜, 그리고 관련된 상황에서 사용되는 해시 응집smallint/정수/bigint및 forfloat4/float8.

  • 변수를 감지하기위한 Optimizer Logic 향상 에서 동일합니다.여기서절 (남자 이름)

    이것은 mergejoins가 내림차순으로 작업 할 수있게합니다 주문 및 중복 정렬의 인식을 향상시킵니다

  • 큰 상속을 계획 할 때 성능 향상 대부분의 테이블이 제외되는 경우 나무

E.24.3.7. 객체 조작

  • 복합 유형의 배열 (David Fetter, Andrew, 남자 이름)

    명시 적으로 거부 된 복합재의 배열 외에 일반 테이블 및 뷰의 유형, 배열의 배열

  • 서버 구성 매개 변수는 이제 a에 설정할 수 있습니다 기능 당 기준 (Tom)

    예를 들어, 기능은 이제 자체적으로 설정할 수 있습니다search_path방지합니다 다른 경우 예기치 않은 행동search_path런타임에 존재합니다. 보안search_path보안을 피하려면 허점.

  • 함수 생성/알터지금 지원비용옵션 (Tom)

    비용기능 호출 비용.평균을 사양 할 수 있습니다 설정 퇴행 함수로 반환 된 번호 또는 행.

  • 구현인덱스 포함(Trevor Hardcastle, Nikhil Sontakke, Neil)

  • 허용색인 생성 동시에다른 거래를 무시합니다 데이터베이스 (Simon)

  • addAlter View ... 이름 바꾸기변경 시퀀스 ... 이름 바꾸기(David Fetter, Neil)

    이전에는이를 통해서만 수행 할 수 있습니다Alter Table ... 이름 바꾸기.

  • make생성/드롭/이름 데이터 베이스계약 충돌을 잠시 기다리십시오 실패하기 전에 종료 (Tom)

    이것은 이러한 명령이의 가능성을 증가시킵니다 성공.

  • 그룹으로 트리거 및 규칙을 비활성화 할 수 있습니다 복제 목적으로 구성 매개 변수 사용

    이를 통해 복제 시스템이 트리거를 비활성화 할 수 있습니다 시스템을 수정하지 않고 그룹으로 규칙을 다시 작성하십시오.Alter Table및 새로운 매개 변수Session_Replication_Role.

  • 사용자 정의 유형은 이제 유형 수정자를 가질 수 윈 토토 (Teodor, Tom)

    이것은 사용자 정의 유형이 수정자를 가져갈 수 있도록합니다. 좋다SSNUM (7). 이전에만

E.24.3.8. 유틸리티 명령

  • 비 Superuser 데이터베이스 소유자는 이제 추가 할 수 있습니다 데이터베이스에 대한 신뢰할 수있는 절차 언어

    이것은 합리적으로 안전하지만 일부 관리자 특권을 철회하고 싶을 수도 윈 토토.PG_PLTEMPLATE.TMPLDBACREATE.

  • 세션의 현재 매개 변수 설정을 사용할 수 있습니다 미래 세션의 기본값 (Tom)

    이것은 완료되었습니다세트 ... 현재의in생성/알터 기능, 데이터베이스 변경, 또는ALTER 역할.

  • 새 명령 구현폐기 모두, 계획 폐기, 임시 폐기, 모두 닫기allocate all(Marko Kreen, Neil)

    이 명령은 데이터베이스 세션 재설정을 단순화합니다 초기 상태로, 특히 유용합니다

  • make클러스터MVCC-SAFE (Heikki Linnakangas)

    이전,클러스터사망 한 모든 튜플을 폐기하더라도

  • 새로운 추가클러스터구문 :클러스터테이블사용index(Holger Schurig)

    오래된클러스터구문은입니다 여전히 지원되지만 새로운 형태는 더 많이 간주됩니다

  • 수정설명보여줄 수 윈 토토 복잡한 계획보다 정확하게 계획

    하위 플랜 출력에 대한 참조는 이제 항상 표시됩니다 정확하게 사용하는 대신? 칼럼N?복잡한 경우

  • 사용자가보고 된 정보 금액을 제한합니다 떨어졌다 (Alvaro)

    이전에 사용자를 삭제 (또는 떨어 뜨리려고) 많은 물건을 소유 한 사람은 큰 결과를 낳을 수 있습니다통지또는오류이 모든 객체를 나열하는 메시지; 이것은 문제를 일으켰습니다

E.24.3.9. 데이터 유형

  • 신규를 포함한 SQL/XML 표준 지원 운영자 및 anXML데이터 유형 (Nikolay Samokhvalov, Pavel Stehule, Peter)

  • 열거 된 데이터 유형 (enum) (Tom Dunstan)

    이 기능은 필드를 편리하게 지원합니다 작고 고정 된 허용 값 세트가 있습니다.enum타입 이다ENUM으로 유형 분위기를 만듭니다 ( 'SAD', 'OK', 'Happy').

  • 보편적으로 고유 한 식별자 (uuid) 데이터 유형 (Gevik Babakhani, Neil)

    이것은 밀접하게 일치합니다RFC 4122.

  • 넓은Money데이터 유형으로 64 비트 (D 'Arcy Cain)

    이것은 지원되는 범위를 크게 증가시킵니다Money값.

  • 수정float4/float8처리 할InfinityNAN(숫자가 아님) 일관되게 (Bruce)

    코드는 이전에 일관성이 없었습니다 구별Infinity오버플로 조건.

  • 입력하는 동안 선두 및 후행 공백 허용부울값 (Neil)

  • 예방copy사용에서 구분 제로 숫자와 소문자 (TOM)

​​E.24.3.10. 기능

  • 새로운 정규 표현 함수 추가regexp_matches (), regexp_split_to_array ()regexp_split_to_table ()(제레미 드레이크, 닐)

    이러한 기능은 일반의 추출을 제공합니다 표현 하위 표현 및 문자열을 분할 할 수 윈 토토

  • addlo_truncate ()큰 물체 잘림 (Kris Jurka)

  • 구현width_bucket ()float8데이터 유형 (Neil)

  • addPG_STAT_CLEAR_SNAPSHOT ()폐기 현재 중에 수집 된 통계 스냅 샷

    트랜잭션의 첫 번째 통계 요청 변경되지 않는 통계 스냅 샷을 사용합니다

  • addIsodow옵션Extract ()date_part ()(브루스)

    이것은 일요일과 함께 요일을 반환합니다. 일곱.dow일요일에 다시 돌아옵니다 영.)

  • addid(ISO 주간) 및iddd(ISO Day of Day) 형식 코드to_char (), to_date ()TO_TIMESTAMP ()(Brendan Jurd)

  • makeTO_TIMESTAMP ()to_date ()가정TM(트림) 잠재적으로 옵션 가변 폭 필드 (Bruce)

    이것은 일치합니다Oracle's 행동.

  • to_date ()/TO_TIMESTAMP () D(비 이소 요일) 필드 (Bruce)

  • makesetseed ()반환 쓸모없는 정수 가치 (Neil)가 아닌 void

  • 해시 함수 추가숫자(Neil)

    이를 통해 해시 인덱스 및 해시 기반 계획이 가능합니다 와 함께숫자열.

  • 효율성 향상좋아요/ilike, 특히 UTF-8과 같은 다중 바이트 문자 세트의 경우

  • makecurrtid ()함수 필요하다select대상 테이블 (Tom)

  • 여러 추가TXID _*()활성 트랜잭션 ID를 쿼리하는 기능 (Jan)

    이것은 다양한 복제 솔루션에 유용합니다.

E.24.3.11. PL/PGSQL 서버 측 언어

  • 방향을 포함한 스크롤 가능한 커서 지지대 추가 제어fetch(Pavel 스타 룰)

  • 허용in대안으로Fromin pl/pgsql 'sfetch진술, 백엔드fetch명령 (Pavel 스타 룰)

  • add움직임to pl/pgsql (magnus, Pavel Stehule, Neil)

  • 구현반환 쿼리(Pavel Stehule, Neil)

    이것은 pl/pgsql set-returning에 대한 편리한 구문을 추가합니다 쿼리 결과를 반환하려는 함수.반환 쿼리더 쉽고 더 많습니다 루프 주변보다 효율적반환 다음.

  • 함수 매개 변수 이름을 자격을 갖도록 허용합니다 함수 이름 (Tom)

    예를 들어myfunc.myvar. 이것은 변수를 a에서 지정하는 데 특히 유용합니다

  • 블록 레이블이 작동하는 변수의 자격을 갖추십시오 적절하게 (tom)

    이전에는 외부 레벨 블록 레이블이 예기치 않게 될 수 있습니다 내부 레벨 레코드 또는 행의 인식을 방해합니다

  • 요구 사항 강화forloopStep값 (Tom)

    양성 예방Step값 및 처리 루프 오버플로.

  • 구문 오류 위치를보고 할 때 정확도를 향상시킵니다 (남자 이름)

E.24.3.12. 기타 서버 측 언어

  • pl/perl에 유형-이름 인수 허용SPI_PREPARE ()데이터 유형 별명이되기 위해 에서 발견 된 이름 외에pg_type(Andrew)

  • pl/python에 유형-이름 인수 허용plpy.prepare ()데이터 유형 별명이되기 위해 에서 발견 된 이름 외에pg_type(Andrew)

  • pl/tcl에 유형-이름 인수 허용SPI_PREPARE데이터 유형 별칭이 될 것입니다 에서 발견 된 이름에 추가pg_type(Andrew)

  • PL/Pythonu가 Python 2.5를 컴파일 할 수 있도록 활성화하십시오 (Marko Kreen)

  • 호환되는 진정한 pl/python boolean 유형을 지원합니다 파이썬 버전 (Python 2.3 이상) (Marko Kreen)

  • 스레드 가능성으로 PL/TCL 문제를 수정libtcl내부의 여러 스레드가 생성됩니다 백엔드 (Steve Marshall, Paul Bayer, Doug Knight)

    이것은 모든 종류의 불쾌감을 유발했습니다.

E.24.3.13. PSQL

  • 별도로 비활성화 트리거 목록\ d출력 (Brendan Jurd)

  • in\ d패턴, 항상 일치$문자 그대로 (Tom)

  • 집계 반환 유형 표시\ da출력 (Greg Sabino Mullane)

  • 함수의 휘발성 상태를에 추가합니다\ df+(Neil)

  • add\ prompt능력 (Chad 바그너)

  • 허용\ pset, \ t\ xto 지정on또는off, 단지 토글링이 아니라 (Chad 바그너)

  • add\ sleep기능 (1 월)

  • 활성화\ 타이밍출력\ copy(Andrew)

  • 개선\ 타이밍해상도 Windows (Itagaki Takahiro)

  • 플러시\ O각각의 출력 백 슬래시 명령 (Tom)

  • A를 읽는 동안 오류를 올바르게 감지하고보고합니다-f입력 파일 (Peter)

  • 제거-u옵션 (이 옵션 오랫동안 더 이상 사용되지 않았습니다) (Tom)

E.24.3.14. pg_dump

  • add--- 테이블 스페이스 전용-롤리옵션PG_DUMPALL(Dave 페이지)

  • 출력 파일 옵션 추가PG_DUMPALL(Dave Page)

    이것은 주로 출력되는 Windows에서 유용합니다 자녀의 리디렉션pg_dump프로세스가 작동하지 않습니다.

  • 허용PG_DUMPALLTO 초기 연결 데이터베이스 이름을 사용하지 않고 수락하십시오template1(Dave 페이지)

  • in-n-t스위치, 항상 일치$문자 그대로 (Tom)

  • 데이터베이스에 수천 명의 사람들이있을 때 성능 향상 물체 (Tom)

  • 제거-u옵션 (이 옵션 오랫동안 더 이상 사용되지 않았습니다) (Tom)

E.24.3.15. 기타 클라이언트 응용 프로그램

  • ininitdb허용 위치의 위치PG_XLOG지정할 디렉토리 (Euler Taveira de Oliveira)

  • 서버 코어 덤프 생성 활성화PG_REGRESS지원되는 운영 시스템 (Andrew)

  • 추가-t(타임 아웃) 매개 변수 에게PG_CTL(브루스)

    이것은 얼마나 오래 통제합니다PG_CTL기다릴 때 기다릴 것입니다 서버 시작 또는 종료.

  • 추가PG_CTL옵션 서버 코어 덤프 생성을 제어하려면 (Andrew)

  • Control-C가 취소하도록 허용ClusterDB, ReindexDBVACUUMDB(Itagaki Takahiro, 매그너스)

  • reppress 명령 태그 출력createb, CreateUser, dropdbDropuser(Peter)

    the-Quiet옵션은 무시됩니다 8.4에서 제거됩니다.

E.24.3.16. libpq

  • 해석dbname매개 변수pqsetdblogin ()asConninfoIT 인 경우 문자열 Equals 표시 (Andrew) 포함

    이것은를 사용할 수 있습니다Conninfo여전히 사용하는 클라이언트 프로그램의 문자열pqsetdblogin ().

  • 글로벌 지원SSL구성 파일 (Victor 바그너)

  • 환경 추가pgsslkey제어SSL하드웨어 키 (Victor Wagner)

  • addlo_truncate ()큰 물체 잘림 (Kris Jurka)

  • addPQConnectionNeedSpassword ()서버에 비밀번호가 필요한 경우 TRUE를 반환하지만 없습니다.

    연결 실패 후 TRUE가 반환되는 경우 시도, 클라이언트 응용 프로그램은 사용자에게 프롬프트해야합니다

  • addpqConnectionusedPassword ()그 반환 제공된 암호가 실제로 사용 된 경우 (Joe

    이것은 일부 보안 컨텍스트에서 유용합니다. 사용자가 제공 한 비밀번호가 있는지 아는 것이 중요합니다

E.24.3.17. ECPG

  • V3 Frontend/Backend Protocol (Michael) 사용

    이것은 서버 측 준비에 대한 지원을 추가합니다 진술.

  • Windows에서 pthreads 대신 기본 스레드를 사용하십시오 (Magnus)

  • Ecpglib의 실 안전성 개선 (Itagaki Takahiro)

  • ECPG 라이브러리가 필요한 API 만 내보내십시오 기호 (Michael)

E.24.3.18. Windows포트

  • 전체 허용PostgreSQL배포 편집Microsoft Visual C ++(Magnus 및 기타)

    이를 통해 Windows 기반 개발자는 친숙합니다 개발 및 디버깅 도구.

  • 우체국의 메모리 사용량을 크게 줄입니다 많은 아동 과정이 있습니다 (Magnus)

  • 회귀 테스트를 시작할 수 있습니다 관리 사용자 (Magnus)

  • 기본 공유 메모리 구현 추가 (Magnus)

E.24.3.19. 서버 프로그래밍 인터페이스 (SPI)

  • SPI에서 커서 관련 기능 추가 (Pavel 스타 룰)

    커서 관련 계획 옵션에 액세스 할 수 있습니다. 그리고 추가fetch/움직임루틴.

  • 커서 명령 실행 허용SPI_Execute(Tom)

    매크로SPI_ERROR_CURSOR여전히 존재하지만 결코 반품되지 않습니다.

  • SPI 계획 포인터가 이제로 선언되었습니다.spiplanptr대신void *(Tom)

    이것은 응용 프로그램 코드를 중단하지는 않지만 전환이 윈 토토 간단한 프로그래밍을 잡는 데 도움이됩니다

E.24.3.20. 옵션 빌드

  • add구성옵션-enable-profiling활성화 코드 프로파일 링 (GCC) (Korry Douglas와 Nikhil Sontakke)

  • add구성옵션-with-system-tzdata운영 체제의 시간대 데이터베이스 (Peter)

  • 수정PGXSPostgreSQL 설치에 대해 확장을 구축 할 수 있습니다PG_CONFIG프로그램 에 먼저 나타나지 않습니다.PATH(Tom)

  • 지원Gmake Draft언제 건축SGMLDocumentation (Bruce)

    드래프트사용됩니다 필요한 경우 문서 빌드가 반복됩니다

E.24.3.21. 소스 코드

  • 매크로 이름 바꾸기dllimporttopgdllimport충돌을 피하기 위해 제 3 자와 함께 (정의하는 TCL과 같은) 포함dllimport(Magnus)

  • 생성"운영자 패밀리"교차 데이터 유형과 관련된 쿼리 계획을 개선합니다 비교 (Tom)

  • GIN 업데이트ExtractQuery ()신호 전달을 허용하는 API 쿼리 (Teodor)를 만족시킬 수있는 것은 없습니다.

  • 움직임지명 된 ATALEN정의 에서postgres_ext.htopg_config_manual.h(Peter)

  • 제공strlcpy ()strlcat ()모든 플랫폼에서 의 오류가 발생하기 쉬운 사용을 대체합니다.strncpy (), strncat ()등 (Peter)

  • 외부 플러그인 모니터 (또는 도 플래너를 교체하고 계획을 세웁니다

  • 함수 변수 생성join_search_hook플러그인이 재정의하도록합니다 플래너의 가입 검색 순서 부분 (Julius

  • addTAS ()지원 Renesas의 M32R 프로세서 (Kazuhiro Inaoka)

  • quote_identifier ()pg_dump더 이상 인용하지 않습니다 문법에 따라 보존되지 않은 키워드

  • 숫자데이터 유형이므로sign_dscale단어가 나옵니다 체중 (tom)

  • useSYSV세마포어 다윈의 posix 대신 = 6.0, 즉 OS X 10.2

  • add약어NFS문서 섹션 (Bruce)

  • "Postgres"는 이제 허용 된 별칭으로 문서화되었습니다 "Postgresql"(Peter)

  • 데이터베이스 서버 방지에 대한 설명서 추가 서버가 다운되었을 때의 스푸핑 (Bruce)

E.24.3.22. Contrib

  • 움직임Contrib readme메인 컨텐츠PostgreSQL문서 (Albert Cervera I Areny)

  • addContrib/PageInspect저수준 페이지 검사를위한 모듈 (Simon, Heikki)

  • addContrib/PG_Standby따뜻한 대기 작동 제어 모듈 (Simon)

  • addContrib/uuid-sossp모듈 생성을 위해uuid값을 사용하는 값 OSSP UUID 라이브러리 (Peter)

    use구성 -with-sossp-uuid활성화. 이것은 새로운 것을 활용합니다uuid내장형 유형.

  • addContrib/Dict_int, Contrib/Dict_xsyncontrib/test_parser모듈로 샘플 애드온 텍스트 검색 사전 템플릿을 제공합니다

  • 허용Contrib/PgbenchFillFactor (Pavan Deolasee)를 설정하려면

  • 타임 스탬프 추가Contrib/Pgbench -l(Greg Smith)

  • 사용 카운트 통계 추가Contrib/Pgbuffercache(Greg Smith)

  • 진 지원 추가Contrib/Hstore(Teodor)

  • 진 지원 추가Contrib/PG_TRGM(Guillaume Smet, Teodor)

  • OS/X 시작 스크립트 업데이트Contrib/Start-Scripts(Mark Cotner, David 족쇄)

  • 제한pgrowlocks ()dblink_get_pkey ()to 있는 사용자select특권 대상 테이블 (Tom)

  • 제한Contrib/Pgstattuple슈퍼업자 (TOM) 기능

  • Contrib/XML2가 더 이상 사용되지 않습니다 그리고 8.4 (Peter)에서 제거 할 계획

    Core PostgreSQL의 새로운 XML 지원이이를 대체합니다 기준 치수.