출시 날짜 : 2008-02-04
상당한 새로운 기능과 성능을 갖춘 향상,이 릴리스는에 대한 주요 도약을 나타냅니다.PostgreSQL. 이것은 만들어졌습니다
전체 텍스트 검색이 핵심 데이터베이스에 통합되어 윈 토토 체계
신규를 포함한 SQL/XML 표준 지원 운영자 및 anXML데이터 유형
열거 된 데이터 유형 (enum)
복합 유형의 배열
보편적으로 고유 한 식별자 (uuid) 데이터 유형
제어 추가NULLs 먼저 또는 마지막으로 정렬
업데이트 가능한 커서
서버 구성 매개 변수를 설정할 수 윈 토토 기능 당 기준
사용자 정의 유형은 이제 유형 수정자를 가질 수 윈 토토
테이블시 쿼리를 자동으로 다시 계획합니다 정의 변경 또는 통계가 업데이트 됨
로깅 및 통계의 수많은 개선 수집
보안 서비스 제공 업체 인터페이스 지원 (SSPI) Windows에서 인증
다중 동시 동시자가 프로세스 프로세스를 지원합니다 기타 Autovacuum 개선
전체 허용PostgreSQL편집 할 분포 와 함께Microsoft Visual C ++
주요 성능 향상은 다음과 같습니다. 대부분의
비동기 커밋 지연은 WAL에 쓴다 거래 커밋
Checkpoint 쓰기는 더 오랜 시간에 걸쳐 퍼질 수 윈 토토 각 체크 포인트 중에 I/O 스파이크를 부드럽게하는 기간
힙 전용 튜플 (hot) 대부분의 공간 재사용 가속화업데이트s and삭제s
정시 배경 작가 전략은 디스크를 향상시킵니다 쓰기 효율성
읽기 전용에 대한 비 연개 트랜잭션 ID 사용 거래는 오버 헤드를 줄이고진공요구 사항
당사자 및 당당 저장소 오버 헤드가 윈 토토 줄인
큰 순차적 스캔이 더 이상 자주 발생하지 않습니다 중고 캐시 페이지
동시 대규모 순차적 스캔은 이제 디스크를 공유 할 수 윈 토토 읽기
주문별 주문수행 할 수 윈 토토 정렬없이
위 항목은 섹션에서 자세히 설명되어 윈 토토. 아래에.
덤프/복원 사용pg_dump원하는 사람들에게는 필요합니다 이전 릴리스에서 데이터를 마이그레이션합니다.
다음과 비 호환성을 관찰하십시오 :
비 문자 데이터 유형은 더 이상 자동으로 없습니다 캐스트텍스트(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)
관리 서버의 수많은 변경 매개 변수
bgwriter_lru_percent, bgwriter_all_percent, bgwriter_all_maxpages, stats_start_collector및stats_reset_on_server_start제거되었습니다.Redirect_stderr이름이 바뀌 었습니다logging_collector. stats_command_string이름이 바뀌 었습니다track_activities. stats_block_level및stats_row_leveltrack_counts. 새로운 부울 구성archive_mode, 아카이브를 제어합니다.
제거stats_start_collector매개 변수 (TOM)
우리는 이제 항상 수집기 프로세스를 시작합니다.UDP소켓 생성 실패.
제거stats_reset_on_server_start매개 변수 (남자 이름)
이것은 제거 되었기 때문에pg_stat_reset ()
이를 위해 사용할 수 윈 토토 목적.
매개 변수 주석on이제 반복을 일으킨다 기본값 (Joachim Wieland)
이전에 항목을 댓글을 달았습니다 매개 변수의 값은 다음 서버까지 변경되지 않았습니다
잘못 인코딩 된 데이터에 대한 더 많은 검사를 추가합니다 (앤드류)
이 변경 사항은 문자 그대로 존재하는 구멍을 막습니다 백 슬래시 탈출 문자열 처리 및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은 서버 측 인코딩으로 안전하지 않습니다.
아래에 변경 사항에 대한 자세한 설명이 윈 토토. 사이PostgreSQL8.3 및 이전 주요 릴리스.
비동기 커밋 지연은 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)
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"데이터베이스 시스템이 수락 할 준비가되었습니다 사이"및 타이밍 조정
메시지는 이제 우체국 마스터가있을 때만 나타납니다 연결을 수락 할 준비가되었습니다.
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_tuples및n_dead_tuples열로pg_stat_all_tables및 관련 보기 (Glen Parker)
병합stats_block_level및stats_row_level매개 변수 단일 매개 변수track_counts, 통계로 전송 된 모든 메시지를 제어합니다
Renamestats_command_string매개 변수 totrack_activities(Tom)
살아있는 튜플의 통계적 계산을 수정하십시오 헌신적이고 중단 된 거래는 가지고 있음을 인식하십시오
지원 보안 서비스 제공 업체 인터페이스 (SSPI) Windows의 인증 (Magnus)
지원 GSSAPI 인증 (Henry Hotz, Magnus)
이것은 네이티브 Kerberos보다 선호되어야합니다 GSSAPI가 산업이기 때문에 인증
글로벌 SSL 구성 파일을 지원합니다 (Victor 바그너)
addSSL_CIPHERS매개 변수로 통제 허용 SSL 암호 (Victor Wagner)
Kerberos Realm 매개 변수 추가,KRB_REALM(Magnus)
트랜잭션 WAL에 기록 된 타임 스탬프를 변경합니다 time_t에서 timestamptz 표현까지 레코드
이것은 WAL에서 초 초 분해능을 제공합니다 시점 복구에 유용합니다.
따뜻한 대기 서버에서 필요한 WAL 디스크 공간을 줄입니다 (사이먼)
이 변경 사항은 따뜻한 대기 서버가 아직까지 필요한 WAL 파일의 이름%rinRestore_command매개 변수on.
새로운 부울 구성 매개 변수,archive_mode, 컨트롤 아카이빙 (사이먼)
이전 설정archive_command빈 문자열로 돌 렸습니다 아카이브에서.archive_mode독립적으로 아카이브를 켜고 끄는 회전archive_command. 이것은 유용합니다
전체 텍스트 검색이 핵심 데이터베이스에 통합되어 있습니다 시스템 (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가 내림차순으로 작업 할 수있게합니다 주문 및 중복 정렬의 인식을 향상시킵니다
큰 상속을 계획 할 때 성능 향상 대부분의 테이블이 제외되는 경우 나무
복합 유형의 배열 (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). 이전에만
비 Superuser 데이터베이스 소유자는 이제 추가 할 수 있습니다 데이터베이스에 대한 신뢰할 수있는 절차 언어
이것은 합리적으로 안전하지만 일부 관리자 특권을 철회하고 싶을 수도 윈 토토.PG_PLTEMPLATE.TMPLDBACREATE.
세션의 현재 매개 변수 설정을 사용할 수 있습니다 미래 세션의 기본값 (Tom)
이것은 완료되었습니다세트 ... 현재의in생성/알터 기능, 데이터베이스 변경, 또는ALTER 역할.
새 명령 구현폐기 모두, 계획 폐기, 임시 폐기, 모두 닫기및allocate all(Marko Kreen, Neil)
이 명령은 데이터베이스 세션 재설정을 단순화합니다 초기 상태로, 특히 유용합니다
make클러스터MVCC-SAFE (Heikki Linnakangas)
이전,클러스터사망 한 모든 튜플을 폐기하더라도
새로운 추가클러스터구문 :클러스터테이블사용index(Holger Schurig)
오래된클러스터구문은입니다 여전히 지원되지만 새로운 형태는 더 많이 간주됩니다
수정설명보여줄 수 윈 토토 복잡한 계획보다 정확하게 계획
하위 플랜 출력에 대한 참조는 이제 항상 표시됩니다 정확하게 사용하는 대신? 칼럼N?복잡한 경우
사용자가보고 된 정보 금액을 제한합니다 떨어졌다 (Alvaro)
이전에 사용자를 삭제 (또는 떨어 뜨리려고) 많은 물건을 소유 한 사람은 큰 결과를 낳을 수 있습니다통지또는오류이 모든 객체를 나열하는 메시지; 이것은 문제를 일으켰습니다
신규를 포함한 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처리 할Infinity및NAN(숫자가 아님) 일관되게 (Bruce)
코드는 이전에 일관성이 없었습니다 구별Infinity오버플로 조건.
입력하는 동안 선두 및 후행 공백 허용부울값 (Neil)
예방copy사용에서 구분 제로 숫자와 소문자 (TOM)
새로운 정규 표현 함수 추가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)
이것은 다양한 복제 솔루션에 유용합니다.
방향을 포함한 스크롤 가능한 커서 지지대 추가 제어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값 및 처리 루프 오버플로.
구문 오류 위치를보고 할 때 정확도를 향상시킵니다 (남자 이름)
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)
이것은 모든 종류의 불쾌감을 유발했습니다.
별도로 비활성화 트리거 목록\ 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)
add--- 테이블 스페이스 전용및-롤리옵션PG_DUMPALL(Dave 페이지)
출력 파일 옵션 추가PG_DUMPALL(Dave Page)
이것은 주로 출력되는 Windows에서 유용합니다 자녀의 리디렉션pg_dump프로세스가 작동하지 않습니다.
허용PG_DUMPALLTO 초기 연결 데이터베이스 이름을 사용하지 않고 수락하십시오template1(Dave 페이지)
in-n및-t스위치, 항상 일치$문자 그대로 (Tom)
데이터베이스에 수천 명의 사람들이있을 때 성능 향상 물체 (Tom)
제거-u옵션 (이 옵션 오랫동안 더 이상 사용되지 않았습니다) (Tom)
ininitdb허용 위치의 위치PG_XLOG지정할 디렉토리 (Euler Taveira de Oliveira)
서버 코어 덤프 생성 활성화PG_REGRESS지원되는 운영 시스템 (Andrew)
추가-t(타임 아웃) 매개 변수 에게PG_CTL(브루스)
이것은 얼마나 오래 통제합니다PG_CTL기다릴 때 기다릴 것입니다 서버 시작 또는 종료.
추가PG_CTL옵션 서버 코어 덤프 생성을 제어하려면 (Andrew)
Control-C가 취소하도록 허용ClusterDB, ReindexDB및VACUUMDB(Itagaki Takahiro, 매그너스)
reppress 명령 태그 출력createb, CreateUser, dropdb및Dropuser(Peter)
the-Quiet옵션은 무시됩니다 8.4에서 제거됩니다.
해석dbname매개 변수pqsetdblogin ()
asConninfoIT 인 경우 문자열 Equals 표시 (Andrew) 포함
이것은를 사용할 수 있습니다Conninfo여전히 사용하는 클라이언트 프로그램의 문자열pqsetdblogin ().
글로벌 지원SSL구성 파일 (Victor 바그너)
환경 추가pgsslkey제어SSL하드웨어 키 (Victor Wagner)
addlo_truncate ()
큰 물체 잘림 (Kris Jurka)
addPQConnectionNeedSpassword ()
서버에 비밀번호가 필요한 경우 TRUE를 반환하지만 없습니다.
연결 실패 후 TRUE가 반환되는 경우 시도, 클라이언트 응용 프로그램은 사용자에게 프롬프트해야합니다
addpqConnectionusedPassword ()
그 반환 제공된 암호가 실제로 사용 된 경우 (Joe
이것은 일부 보안 컨텍스트에서 유용합니다. 사용자가 제공 한 비밀번호가 있는지 아는 것이 중요합니다
V3 Frontend/Backend Protocol (Michael) 사용
이것은 서버 측 준비에 대한 지원을 추가합니다 진술.
Windows에서 pthreads 대신 기본 스레드를 사용하십시오 (Magnus)
Ecpglib의 실 안전성 개선 (Itagaki Takahiro)
ECPG 라이브러리가 필요한 API 만 내보내십시오 기호 (Michael)
전체 허용PostgreSQL배포 편집Microsoft Visual C ++(Magnus 및 기타)
이를 통해 Windows 기반 개발자는 친숙합니다 개발 및 디버깅 도구.
우체국의 메모리 사용량을 크게 줄입니다 많은 아동 과정이 있습니다 (Magnus)
회귀 테스트를 시작할 수 있습니다 관리 사용자 (Magnus)
기본 공유 메모리 구현 추가 (Magnus)
SPI에서 커서 관련 기능 추가 (Pavel 스타 룰)
커서 관련 계획 옵션에 액세스 할 수 있습니다. 그리고 추가fetch/움직임루틴.
커서 명령 실행 허용SPI_Execute
(Tom)
매크로SPI_ERROR_CURSOR여전히 존재하지만 결코 반품되지 않습니다.
SPI 계획 포인터가 이제로 선언되었습니다.spiplanptr대신void *(Tom)
이것은 응용 프로그램 코드를 중단하지는 않지만 전환이 윈 토토 간단한 프로그래밍을 잡는 데 도움이됩니다
add구성옵션-enable-profiling활성화 코드 프로파일 링 (GCC) (Korry Douglas와 Nikhil Sontakke)
add구성옵션-with-system-tzdata운영 체제의 시간대 데이터베이스 (Peter)
수정PGXSPostgreSQL 설치에 대해 확장을 구축 할 수 있습니다PG_CONFIG프로그램 에 먼저 나타나지 않습니다.PATH(Tom)
지원Gmake Draft언제 건축SGMLDocumentation (Bruce)
드래프트사용됩니다 필요한 경우 문서 빌드가 반복됩니다
매크로 이름 바꾸기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
"Postgres"는 이제 허용 된 별칭으로 문서화되었습니다 "Postgresql"(Peter)
데이터베이스 서버 방지에 대한 설명서 추가 서버가 다운되었을 때의 스푸핑 (Bruce)
움직임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_xsyn및contrib/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 지원이이를 대체합니다 기준 치수.