이 문서는 지원되지 않는 버전의 PostgreSQL 용입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

E.253. 릴리스 7.4

출시 날짜 : 2003-11-17

E.253.1. 개요

이 릴메이저 토토 사이트의 주요 변경 사항 :

in / 하위 쿼리가 훨씬 더 효율적입니다

이전 릴리스에서in/하위 쿼리가 상단 쿼리에 결합되었습니다 일치를 찾기 위해 서브 쿼리를 순차적으로 스캔합니다. 7.4 코드는 일반 결합에서 사용하는 것과 동일한 정교한 기술을 사용합니다. 그리고 훨씬 빠릅니다.in지금 일반적으로 동등한 것보다 빠르거나 빠릅니다존재하위 쿼리; 이것은 기존을 뒤집습니다 이전 릴리스에 적용된 지혜.

개선그룹 by사용하여 처리 해시 버킷

이전 릴리스에서 그룹화 할 행을 먼저 정렬해야했습니다. 7.4 코드는 할 수 있습니다그룹 by분류, 하나의 항목이있는 해시 테이블에 결과를 축적하여 그룹당. 그러나 여전히 정렬 기술을 사용합니다. 해시 테이블은 너무 큰 것으로 추정됩니다.Sort_mem.

New Multikey 해시 조인 기능

이전 릴리스에서 해시 조인은 단일에서만 발생할 수 있습니다. 열쇠. 이 릴리스는 여러 가지 색상 해시 조인을 허용합니다.

명시 적 쿼리Join구문 이제 더 잘 최적화되었습니다

이전 릴리스가 명시 적 쿼리를 사용하여 평가 된 쿼리Join구문이 암시 한 순서대로 구문. 7.4는이 쿼리의 전체 최적화를 허용합니다 Optimizer는 가능한 모든 조인 순서를 고려하고 선택합니다 가장 효율적입니다. 그러나 외부 조인은 여전히 ​​다음을 따라야합니다 명령 선언.

더 빠르고 강력한 정규 표현 코드

전체 정규 표현 모듈이 헨리 스펜서 (Henry Spencer)의 새 버전, 원래 TCL 용으로 작성되었습니다. 코드 성능을 크게 향상시키고 여러 풍미를 지원합니다 정규 표현.

간단한 SQL 함수에 대한 함수 인라인

SQL 기능은 이제 SQL을 포함하여 인쇄 할 수 있습니다. 메인 쿼리에서. 이것은 제거하여 성능을 향상시킵니다 전화 당 간접비. 즉, 간단한 SQL 함수가 지금처럼 행동한다는 것을 의미합니다 매크로.

IPv6 연결 및 IPv6 주소 데이터에 대한 전체 지원 유형

이전 릴리스는 IPv4 연결 및 IP 데이터 만 허용됩니다. 유형은 지원되는 IPv4 주소 만 있습니다. 이 릴리스는 전체 IPv6을 추가합니다 이 두 영역에서 지원합니다.

SSL 성능 및 신뢰성의 주요 개선

SSL API에 매우 친숙한 몇몇 사람들 SSL 키 협상 및 오류 복구를 개선하기위한 SSL 코드.

빈 색인 페이지를 효율적으로 재사용하고 여유 공간 맵을 만들고 기타 여유 공간 관리 개선

이전 릴리스에서 비어있는 B- 트리 색인 페이지 삭제 된 행 때문에 인덱스가있는 행으로 만 재사용 할 수 있습니다. 해당 페이지에서 원래 인덱스 된 행과 유사한 값. 7.4,진공빈 색인 페이지를 기록합니다 향후 인덱스 행에 대해 재사용 할 수 있습니다.

SQL 표준 정보 스키마

정보 스키마는 표준화되고 안정적인 방법을 제공합니다. a에 정의 된 스키마 개체에 대한 정보에 액세스하십시오 데이터 베이스.

커서는 SQL 표준에 더 가깝게 일치

명령fetchand움직임더 밀접하게 준수하도록 점검되었습니다 SQL 표준.

커서는 트랜잭션 외부에 존재할 수 있습니다

이 커서는 보류 가능한 커서라고도합니다.

새로운 클라이언트-서버 프로토콜

새 프로토콜은 오류 코드, 더 많은 상태 정보를 추가합니다. 더 빠른 시작, 이진 데이터 전송에 대한 더 나은 지원, 매개 변수 값은 SQL 명령에서 분리되어 준비된 명령문입니다 프로토콜 수준에서 사용할 수 있으며에서 더 깨끗한 복구copy실패. 오래된 프로토콜은 여전히 ​​있습니다 서버와 클라이언트 모두에서 지원합니다.

libpqandECPG이제 응용 프로그램이 완전했습니다 스레드-안전

이전libpq릴리스 이미 지원되는 스레드 인이 릴리스는 스레드 안전성을 향상시킵니다 데이터베이스 중에 사용 된 일부 비 스레드-안전 코드를 수정합니다 연결 시작. 그만큼구성옵션-enable-shread-safety익숙해 져야합니다 이 기능을 활성화하십시오.

전체 텍스트 인덱싱의 새 버전

새로운 전체 텍스트 인덱싱 스위트를 사용할 수 있습니다Contrib/Tsearch2.

New Autovacuum 도구

새로운 autovacuum 도구Contrib/Autovacuum데이터베이스 통계를 모니터링합니다 테이블삽입/업데이트/삭제활동 및 필요할 때 테이블을 자동으로 청소합니다.

배열 처리가 개선되어 서버로 이동했습니다. 핵심

많은 배열 제한이 제거되었고 배열이 더 많이 작동합니다. 완전히 지원되는 데이터 유형처럼.

E.253.2. 버전 7.4로의 마이그레이션

덤프/복원 사용pg_dumpis 이전의 데이터를 마이그레이션하려는 사람들에게 필요 풀어 주다.

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

  • 서버 측 자동 커미트 설정이 제거되어 재 구현되었습니다 클라이언트 응용 프로그램 및 언어에서. 서버 측 자동 커밋이있었습니다 언어 및 응용 프로그램에 너무 많은 문제가 발생합니다 자신의 자동 커밋 동작을 제어하고 싶었으므로 Autocommit은 서버에서 제거하고 개별 클라이언트 API에 적절한.

  • 오류 메시지 문구 가이 릴메이저 토토 사이트에서 실질적으로 변경되었습니다. 메시지를 더 많이 만들기 위해 상당한 노력이 투자되었습니다 일관되고 사용자 지향. 응용 프로그램이 감지하려는 경우 오류 메시지를 구문 분석하여 다른 오류 조건 대신 새로운 오류 코드 시설을 사용하도록 강력히 권장합니다.

  • 명시 적 사용을 사용하는 내부 조인Join구문은 이제 더 좋기 때문에 다르게 행동 할 수 있습니다 최적화.

  • 여러 서버 구성 매개 변수의 이름이 바뀌 었습니다 명확성을 위해, 주로 로깅과 관련된 것들.

  • Fetch 0또는이동 0이제 아무것도하지 않습니다. 이전 릴리스에서Fetch 0남은 모든 행을 가져올 것입니다.움직임 0끝으로 이동합니다 커서.

  • Fetchand움직임이제 실제 행 수를 가져 오거나 움직이면 또는 0 인 경우 0을 반환합니다. 커서의 시작/끝. 사전 릴리스가 반환됩니다 행 카운트는 실제로 행의 수가 아닌 명령에 전달되었습니다. 가져 오거나 움직였다.

  • COPY이제 사용하는 파일을 처리 할 수 ​​있습니다 캐리지 퇴치 또는 운송 회수/라인 피드 엔드 라인 시퀀스. 문자 그대로의 캐리지 퇴행과 라인 피드는 더 이상 받아 들여지지 않습니다 데이터 값; 사용\ rand\ n대신.

  • 유형에서 변환 할 때 후행 공간이 다듬어졌습니다char (n)tovarchar (n)또는텍스트. 이것이 대부분의 사람들이 항상 무엇을 하는가입니다 어쨌든 일어날 것으로 예상됩니다.

  • 데이터 유형float (P)지금 측정P소수 자릿수가 아닌 이진 숫자로. 그만큼 새로운 행동은 SQL 표준을 따릅니다.

  • 모호한 날짜 값은 이제 지정된 순서와 일치해야합니다. 그만큼Datestyle설정. 이전 릴리스에서 의 날짜 사양10/20/0310 월에도 날짜로 해석Datestyle하루가 먼저해야한다고 지정했습니다. 7.4 날짜 사양이 유효하지 않으면 오류가 발생합니다. 현재 설정Datestyle.

  • 함수Oidrand, oidsranduserfntest제거되었습니다. 이러한 기능 더 이상 유용하지 않다고 판단되었습니다.

  • 문자열 리터럴을 지정하여 시간 변동 날짜/시간 값을 지정합니다 처럼'now'또는'오늘'열에서 예상대로 더 이상 작동하지 않습니다 기본 표현식; 그들은 이제 테이블 생성 시간을 일으 킵니다 삽입 시간이 아니라 기본값이됩니다. 와 같은 함수now (), current_timestamp또는current_date대신 사용해야합니다.

    이전 릴리스에는 특수 코드가있어 문자열이있었습니다. 와 같은'now'에서 해석되었습니다삽입테이블 생성에서 시간이 아닙니다 시간이지만이 작업은 모든 사례를 다루지 않았습니다. 지금 릴리스 7.4 와 같은 함수를 사용하여 기본값을 올바르게 정의해야합니다.now ()또는current_timestamp. 이것들은 전혀 작동합니다 상황.

  • 달러 표시 ($)는 더 이상 없습니다 운영자 이름으로 허용됩니다. 대신 첫 번째 캐릭터가 될 수 있습니다 식별자. 이것은 다른 사람과의 호환성을 향상시키기 위해 수행되었습니다 데이터베이스 시스템 및 매개 변수시 구문 문제를 피하기 위해 자리 표시 자 ($n)는 인접하여 작성되었습니다 연산자.

E.253.3. 변화

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

E.253.3.1. 서버 작동 변경

  • IPv6 서버 연결 허용 (Nigel Kukard, Johan Jordaan, Bruce, Tom, Kurt Roeckx, Andrew Dunstan)

  • 오류를 깨끗하게 처리하려면 SSL을 수정 (Nathan Mueller)

    이전 릴리스에서 특정 SSL API 오류 보고서는 올바르게 처리되었습니다. 이 릴리스는 이러한 문제를 해결합니다.

  • SSL 프로토콜 보안 및 성능 향상 (Sean Chittenden)

    SSL 키 재협상이 너무 자주 발생하여 가난하게 발생했습니다 SSL 성능. 또한 초기 키 처리가 개선되었습니다.

  • 교착 상태가 감지 될 때 잠금 정보 인쇄 (TOM)

    이것은 교착 상태를 더 쉽게 디버깅 할 수 있습니다.

  • 업데이트/tmp소켓 수정 시간 정기적으로 제거를 피하기 위해 (Tom)

    이것은 예방에 도움이되어야합니다/tmp디렉토리 클리너 관리 스크립트 서버 제거에서 소켓 파일.

  • Mac OS X 용 PAM 활성화 (Aaron Hillegass)

  • B- 트리 색인을 완전히 월-안전 (TOM) 만들기

    이전 릴리스에서 특정 드문 경우에 서버 충돌 B- 트리 지수가 손상 될 수 있습니다. 이 릴리스가 제거됩니다 마지막 몇 가지 드문 경우.

  • B- 트리 색인 압축 및 빈 페이지 재사용 허용 허용 (TOM)

  • 첫 번째 루트 페이지의 분할 중에 일치하지 않는 인덱스 조회 수정 (남자 이름)

    18734_18933

  • 여유 공간지도 할당 로직 (TOM)

  • 서버 재시작간에 여유 공간 정보를 보존하십시오 (남자 이름)

    이전 릴리스에서는 여유 공간 맵이 우체국 장이 중단되어 새로 시작된 서버에는 여유 공간이 없었습니다. 정보. 이 릴리스는 여유 공간 맵을 저장하고 다시로드합니다. 서버가 다시 시작되면.

  • 시작 시간 추가pg_stat_activity(Neil)

  • 손상된 디스크 페이지를 감지하는 새 코드; 지우기Zero_damaged_Pages(Tom)

  • 새 클라이언트/서버 프로토콜 : 더 빠르고 사용자 이름 길이 제한 없음, 청정 출구 허용COPY(Tom)

  • 고객/서버에 트랜잭션 상태, 테이블 ID, 열 ID를 추가합니다 프로토콜 (Tom)

  • 클라이언트/서버 프로토콜 (TOM)에 이진 I/O 추가

  • 자동 커밋 서버 설정 제거; 클라이언트 응용 프로그램으로 이동하십시오 (남자 이름)

  • 새로운 오류 메시지 문구, 오류 코드 및 3 단계 오류 세부 사항 (Tom, Joe, Peter)

E.253.3.2. 성능 향상

  • 해싱 추가그룹 by집계 (남자 이름)

  • Nested-Loop 조인을 여러 폭도 지수에 대해 더 똑똑하게 만듭니다 (남자 이름)

  • 허용 멀티 킨 해시 조인 허용 (TOM)

  • 지속적인 접이식 향상 (TOM)

  • 간단한 SQL 기능을 인라인으로 내리는 기능 추가 (TOM)

  • 복잡한 함수를 사용하여 쿼리의 메모리 사용을 줄입니다 (남자 이름)

    이전 릴리스에서 할당 된 메모리를 반환하는 기능은 가능합니다 쿼리가 완료 될 때까지 자유롭지 않습니다. 이 릴리스가 허용됩니다 함수가 호출 될 때 기능 할당 메모리의 해제 완료, 함수가 사용하는 총 메모리 감소.

  • GEQO Optimizer Performation (TOM)

    이 릴메이저 토토 사이트는 GEQO 방식에서 몇 가지 비 효율성을 수정합니다. Optimizer는 잠재적 인 쿼리 경로를 관리합니다.

  • 허용in/안에해시 테이블 (TOM)을 통해 처리하려면

  • 개선in (SubQuery)Performance (Tom)

  • 대부분의 허용in하위 쿼리 조인으로 처리 (Tom)

  • 패턴 일치 작업은 로케일에 관계없이 인덱스를 사용할 수 있습니다 (베드로)

    비 ASCII 지역이 표준을 사용할 방법이 없습니다. 인덱스Like비교. 이번 릴메이저 토토 사이트 특수 색인을 만들 수있는 방법을 추가합니다Like.

  • Postmaster가 사용하여 라이브러리를 예비로드하도록 허용preload_libraries(Joe)

    로드하는 데 오랜 시간이 필요한 공유 라이브러리의 경우 라이브러리를 우체국 장 및 모든 데이터베이스 세션에 의해 상속됩니다.

  • 특히 하위 쿼리의 최적화 비용 계산 개선 (남자 이름)

  • 하위 퀘일시 정렬을 피하십시오주문상단 쿼리 (TOM) 일치

  • 추론여기서 a.x = b.y 및 b.y = 42또한 의미a.x = 42(Tom)

  • 복잡한 조인 (TOM)에서 해시/합병 허용

  • 더 많은 데이터 유형에 대한 해시 조인 허용 (TOM)

  • 명시 적 내부 결합의 최적화 허용, 비활성화join_collapse_limit(Tom)

  • 매개 변수 추가from_collapse_limitTO 하위 쿼리의 조인으로의 제어 (TOM)

  • TCL에서 더 빠르고 강력한 정규 표현 코드 사용 (Henry Spencer, Tom)

  • Optimizer (TOM)에서 비트 맵핑 관계 세트 사용

  • 연결 시작 시간 개선 (TOM)

    새 클라이언트/서버 프로토콜에는 네트워크 패킷이 적습니다 데이터베이스 세션 시작.

  • 트리거/제약 성능 향상 (Stephan)

  • 속도 향상col in (const, const, const, ...)(Tom)

  • 드문 경우에 깨진 해시 인덱스 수정 (TOM)

  • 해시 인덱스 동시성 및 속도 향상 (TOM)

    이전 릴리스가 해시 지수 성능 저하로 고통 받고 있습니다. 특히 높은 동시성 상황의 경우. 이 릴리스를 수정합니다 그리고 개발 그룹은 비교 보고서에 관심이 있습니다. B- 트리 및 해시 인덱스 성능.

  • 복사 속도를 위해 32 바이트 경계에서 공유 버퍼를 정렬합니다 개선 (Manfred Spraul)

    특정 CPU는 주소가있을 때 더 빠른 데이터 사본을 수행합니다 32 바이트 정렬.

  • 데이터 유형숫자더 나은 상환 성능 (Tom)

    숫자기본 100에 저장되었습니다 새로운 코드는 기본 10000을 사용하여 훨씬 더 나은 성능을 사용합니다.

E.253.3.3. 서버 구성 변경

  • 서버 매개 변수 이름 바꾸기server_min_messagestolog_min_messages(브루스)

    이것은 서버 로그를 제어하는 ​​대부분의 매개 변수입니다. 시작부터 시작log_.

  • Renameshow _*_ statsto로그 _*_ 통계(브루스)

  • Renameshow_source_porttolog_source_port(브루스)

  • Renamehostname_lookuptolog_hostname(브루스)

  • addCheckpoint_warning경고 과도한 체크 포인팅 (Bruce)

    이전 릴리스에서는 체크 포인트가 있는지 확인하기가 어려웠습니다. 너무 자주 일어나고있었습니다. 이 기능은 다음에 경고를 추가합니다 과도한 체크 포인팅이 발생하면 서버 로그.

  • 현지화를위한 새로운 읽기 전용 서버 매개 변수 (TOM)

  • 디버그 서버 로그 메시지를 출력으로 변경합니다디버그대신log(브루스)

  • 서버 로그 변수가 꺼지는 것을 방지합니다 비 uperusers (Bruce)

    이것은 보안 기능으로 비 슈퍼 사용자가 비활성화 할 수 없습니다 관리자가 활성화 한 로깅.

  • log_min_messages/client_min_messagesNow ControlsDebug_*출력 (Bruce)

    이것은 클라이언트 디버그 정보를 중앙 집중화하여 모든 디버그 출력입니다 클라이언트 또는 서버 로그로 보낼 수 있습니다.

  • Mac OS X RendezVous 서버 지원 (Chris Campbell)

    Mac OS X 호스트가 사용 가능한 네트워크를 쿼리 할 수 ​​있습니다PostgreSQL서버.

  • 느린 진술 만 인쇄 할 수있는 능력 추가log_min_duration_statement(크메이저 토토 사이트토퍼)

    이것은 종종 요청 된 디버깅 기능입니다 서버 로그에서 느린 쿼리 만 볼 수있는 관리자.

  • 허용pg_hba.confnetmasks를 수락합니다 CIDR 형식 (Andrew Dunstan)

    관리자가 호스트 IP 주소를 병합 할 수 있습니다. 넷 마스크 필드는 단일 CIDR 필드로PG_HBA.conf.

  • 새로운 읽기 전용 매개 변수is_superuser(Tom)

  • 새로운 매개 변수log_error_verbosityto 제어 오류 세부 사항 (TOM)

    이것은 새로운 오류보고 기능과 함께 작동합니다. 힌트, 파일 이름 및 줄과 같은 추가 오류 정보 숫자.

  • postgres-describe-config이제 덤프 서버 구성 변수 (Aizaz Ahmed, Peter)

    이 옵션은 알아야 할 관리 도구에 유용합니다. 구성 변수 이름과 최소값, 최대 값, 기본값 및 설명.

  • 새 열 추가pg_settings: 컨텍스트, type, 소스, min_val, max_val(Joe)

  • 기본값 만들기shared_buffers1000 및max_connections100, 가능한 경우 (Tom)

    사전 버전은 64 개의 공유 버퍼로 기본적으로PostgreSQL아주 오래된 곳에서 시작합니다 시스템. 이 릴리스는 허용되는 공유 메모리의 양을 테스트합니다. 플랫폼과 더 합리적인 기본값을 선택합니다 가능한. 물론 사용자는 여전히 자신의 평가를 권장합니다 자원 부하 및 크기shared_buffers그에 따라.

  • NEWpg_hba.conf레코드 유형hostnosslSSL 연결 방지 (Jon 젠슨)

    이전 릴리스에서는 SSL 연결을 방지 할 방법이 없었습니다. 클라이언트와 서버가 SSL을 지원하는 경우 이 옵션은 허용합니다 그 능력.

  • 매개 변수 제거geqo_random_seed(Tom)

  • 서버 매개 변수 추가regex_flavorto 정규 표현 처리 제어 (TOM)

  • makePG_CTL더 나은 손잡이 비표준 포트 (Greg)

E.253.3.4. 쿼리 변경

  • 새로운 SQL 표준 정보 스키마 (Peter)

  • 읽기 전용 트랜잭션 추가 (Peter)

  • 외국 키 위반 메시지의 키 이름과 가치를 인쇄합니다 (Dmitry tkach)

  • 사용자가 자신의 쿼리를 볼 수 있도록 허용pg_stat_activity(Kevin Brown)

    이전 릴리스에서 슈퍼 사용자 만 쿼리 문자열을 볼 수 있습니다. 사용pg_stat_activity. 이제 일반 사용자 자신의 쿼리 문자열을 볼 수 있습니다.

  • SQL 표준 (TOM) 일치하는 하위 쿼리의 집계 수정

    SQL 표준은 집계 기능이 나타나고 있다고 말합니다 중첩 하위 퀴어 내에서 인수가있는 경우 외부 쿼리에 속합니다. 외부 쿼리 변수 만 포함합니다. 이전의PostgreSQL릴메이저 토토 사이트는 이것을 잘 처리하지 못했습니다 올바르게 포인트.

  • 참조 된 테이블의 자동 조정을 방지하기위한 옵션을 추가하십시오 쿼리 (Nigel J. Andrews)

    기본적으로 쿼리에 언급 된 테이블은 자동으로입니다 추가From그렇지 않은 경우 조항 이미 거기. 이것은 역사적으로 호환됩니다Postgres행동이지만 SQL과 상반됩니다 기준. 이 옵션을 사용하면 표준 호환을 선택할 수 있습니다 행동.

  • 허용업데이트 ... SET COL = DEFAULT(로드)

    이것은 허용업데이트열을 설정하려면 기본값이 선언되었습니다.

  • 표현식을 사용할 수 있도록Limit/오프셋(Tom)

    이전 릴리스에서Limit/오프셋상수 만 사용할 수 없습니다 표현.

  • 구현테이블 생성 테이블 생성(Neil, Peter)

E.253.3.5. 객체 조작 변경

  • make시퀀스 만들기문법 더 SQL에 대한 준수 : 2003 (Neil)

  • 명령문 수준 트리거 (Neil)

    이것은 성명이 끝날 때 트리거가 발사 될 수 있지만, 트리거가 성명. 이 기능은 향후 릴메이저 토토 사이트를 위해 계획되어 있습니다.

  • 도메인에 대한 확인 제약 조건 추가 (ROD)

    이것은 허용함으로써 도메인의 유용성을 크게 증가시킵니다 점검 제약 조건을 사용합니다.

  • addAlter Domain(로드)

    이것은 기존 도메인을 조작 할 수 있습니다.

  • 여러 제로 컬럼 테이블 버그 (TOM) 수정

    PostgreSQLZero-Column을 지원합니다 테이블. 이를 사용할 때 발생하는 다양한 버그를 수정합니다 테이블.

  • hadeAlter Table ... 기본 키 추가NOT NULL SARMSART (ROD) 추가

    이전 릴리스에서ALTER 테이블 ... 추가 주요한고유 한 인덱스를 추가하지만 널은 아닙니다 강제. 이 릴메이저 토토 사이트에서 고정되어 있습니다.

  • addALTER 테이블 ... OIDS없이(로드)

    이것은 신규 및 업데이트 된 행이 OID 열. 이것은 저장 공간을 절약하는 데 가장 유용합니다.

  • addAlter Sequence최소를 수정하려면 최대, 증분, 캐시, 사이클 값 (로드)

  • addALTER 테이블 ... 클러스터 on(알바로 Herrera)

    이 명령은 사용합니다.pg_dumpTO 이전에 클러스터 된 각 테이블의 클러스터 열을 기록하십시오. 이것 정보는 데이터베이스 전체 클러스터에서 모두 클러스터에 사용됩니다 이전에 클러스터 된 테이블.

  • 도메인의 자동 유형 주조 개선 (Rod, Tom)

  • 첫 번째 문자를 제외하고 식별자에 달러 표시를 허용합니다 (남자 이름)

  • 운영자 이름의 달러 표시를 허용하지 않으므로x = $ 1Works (Tom)

  • 테이블 스키마 복사 허용좋아요미묘한, SQL : 2003 특징기본값 포함(로드)

  • add보조금 옵션조항grant(Peter)

    이것은 활성화 된그랜트다른 사용자에게 제공합니다 물체에 특권을 부여하는 능력.

E.253.3.6. 유틸리티 명령 변경

  • addon Commit조항테이블 생성임시 테이블 (Gavin)

    테이블을 떨어 뜨릴 수있는 기능을 추가하거나 모든 행 거래 커밋에서 삭제

  • 를 사용하여 트랜잭션 외부의 커서 허용with Hold(Neil)

    이전 릴리스에서는 커서가 끝날 때 제거되었습니다. 그들을 만든 거래. 커서는 이제로 만들 수 있습니다.with Hold옵션 생성 거래 후에도 계속 액세스 할 수 있습니다 헌신적인.

  • Fetch 0and이동 0이제 아무것도하지 않습니다 (Bruce)

    이전 릴리스에서Fetch 0가져 오기 남은 모든 행,움직임 0커서의 끝.

  • 원인Fetchand움직임가져 오기/이동 한 행의 수를 반환하려면 또는 SQL 표준 당 커서의 시작/끝에서 0 (브루스)

    사전 릴메이저 토토 사이트에서 행 카운트가 반환 됨fetch움직임그렇지 않았습니다 처리 된 행의 수를 정확하게 반영합니다.

  • 올바르게 처리스크롤커서, 또는 오류보고 (Neil)

    무작위 액세스 (전방 및 후진 스크롤)로 허용합니다 일부 추가 작업 없이는 어떤 종류의 쿼리를 수행 할 수 없습니다. 만약에스크롤커서가있을 때 지정됩니다 생성 된이 추가 작업은 수행됩니다. 또한 IF 커서는로 만들어졌습니다.아니오 스크롤, 무작위 액세스가 허용되지 않습니다.

  • SQL 호환 옵션 구현첫 번째, 마지막, 절대n, 상대nforfetch움직임(Tom)

  • 허용설명on커서 선언(Tom)

  • 허용클러스터표시된 색인을 사용합니다 기본적으로 사전 클러스터링 (Alvaro Herrera)

  • 허용클러스터모든 테이블을 클러스터링합니다 (Alvaro Herrera)

    이것은 데이터베이스의 이전에 클러스터 된 모든 테이블이 단일 명령으로 재 클러스터.

  • 예방클러스터부분 인덱스에서 (남자 이름)

  • DOS 및 MAC 라인 끝 허용COPY파일 (Bruce)

  • 데이터 값으로 문자 그대로의 운송을 허용하지 않습니다. Backslash-Carriage Return and\ r아직도 있습니다 허용 (브루스)

  • COPYChanges (Binary,\.) (Tom)

  • 복구COPY깨끗하게 고장 (남자 이름)

  • 가능한 메모리 누출 방지COPY(Tom)

  • makeTruncate트랜잭션-안전 (막대)

    Truncate이제 a 내부에서 사용할 수 있습니다 거래. 거래가 중단되면의 변경 사항Truncate자동으로 롤링됩니다 뒤쪽에.

  • 유틸리티 명령의 준비/바인딩 허용fetchand설명(Tom)

  • addExecute 설명(Neil)

  • 개선진공인덱스 성능 WAL 트래픽을 줄임으로써 (TOM)

  • 기능 색인이 인덱스로 일반화되었습니다 표현 (Tom)

    이전 릴리스에서 기능 색인은 단순한 지원 만 지원했습니다 하나 이상의 열 이름에 적용되는 함수. 이 릴리스는 허용합니다 모든 유형의 스칼라 표현.

  • HATE거래 격리 표시일치 입력트랜잭션 격리 설정(Tom)

  • hade데이터베이스에 대한 의견비 로컬 데이터베이스는 오류 (로드) 대신 경고를 생성합니다

    데이터베이스 댓글은 데이터베이스-로컬 테이블에 저장됩니다 데이터베이스에 대한 의견은 각 데이터베이스에 저장되어야합니다.

  • 의 신뢰성 향상듣기/Notify(Tom)

  • 허용Reindex안정적으로 구매합니다 비 공유 시스템 카탈로그 색인 (TOM)

    이렇게하면 시스템 테이블이없는 시스템 테이블이 다시 표시 될 수 있습니다 필요한 독립형 세션의 요구 사항 이전 릴리스. 이제 독립형이 필요한 유일한 테이블 Reindexing의 세션은 글로벌 시스템 테이블입니다pg_database, PG_SHADOWPG_GROUP.

E.253.3.7. 데이터 유형 및 기능 변경

  • 새로운 서버 매개 변수extra_float_digits부동 소수점 번호의 정밀 표시를 제어합니다 (Pedro Ferreira, Tom)

    이것은 회귀를 유발하는 출력 정밀도를 제어합니다 테스트 문제.

  • 허용+1300숫자 시간대 fjst (tom)의 지정자

  • 거의 사용되지 않는 기능 제거Oidrand, Oidsrand, 그리고userfntest기능 (Neil)

  • addmd5 ()기본 서버에 대한 기능, 이미Contrib/Pgcrypto(Joe)

    MD5 함수가 자주 요청되었습니다. 더 복잡한 경우 암호화 기능, 사용Contrib/Pgcrypto.

  • 날짜 범위 증가타임 스탬프(John 코크란)

  • 변경Extract (TimeStamp의 Epoch)SO시간대가없는 타임 스탬프현지 시간에는 GMT (Tom)가 아닌

  • 운영 체제가 그렇지 않은 경우 0에 의한 트랩 디비전 예방 (Tom)

  • 변경숫자내부적으로 데이터 유형 기본 10000 (Tom)

  • NEWhostmask ()함수 (Greg 위엄)

  • 수정 사항to_char ()andTO_TIMESTAMP ()(Karel)

  • 인수 데이터 유형 및 반환을 할 수있는 기능 허용 모든 데이터 유형, 사용AnylementandAnyArray(Joe)

    이것은 어떤 것과 함께 작동 할 수있는 기능의 생성을 허용합니다. 데이터 유형.

  • 배열을 이제로 지정할 수 있습니다.배열 [1,2,3], 배열 [[ 'a', 'b'], [ 'c', 'd']또는배열 [배열 [배열 [2]](Joe)

  • 배열을 포함한 적절한 비교 허용주문and별도의지원 (Joe)

  • 배열 열 (Joe)에서 인덱스 허용

  • 배열 연결 허용||(Joe)

  • 허용여기서자격expr op일부/일부/ALL (array_expr)(Joe)

    이것은 목적 상 값 목록처럼 배열이 작동 할 수 있습니다. 좋다선택 *에서 col (array_val).

  • 새로운 배열 기능array_append, array_cat, Array_Lower, array_prepend, array_to_string, array_upper, String_to_array(Joe)

  • 사용자 정의 골재가 다형성 함수를 사용하도록 허용합니다 (조)

  • 빈 배열 (joe)에 할당 허용

  • 초의 60 초 허용TIME, 타임 스탬프간격입력 값 (TOM)

    도약 초에는 60 초 값이 필요합니다.

  • 허용CIDR캐스트 할 데이터 유형텍스트(Tom)

  • SET TIMEZONE에서 유효하지 않은 시간대 이름을 허용하지 않습니다

  • 트림 공백을 트림charVarchar또는텍스트(Tom)

  • makefloat (P)정밀도 측정P소수 숫자가 아닌 이진 숫자로 (남자 이름)

  • IPv6 지원 추가inetandCIDR데이터 유형 (Michael Graff)

  • addfamily ()보고 할 기능 주소가 IPv4 또는 IPv6 (Michael Graff)인지

  • hadeShow Datestyle출력 생성 와 유사데이터 스타일 설정(Tom)

  • 만들기Extract (Timezone)설정/표시 시간대시간대 오프셋의 표시, 즉 긍정적 인 것은 UTC에서 동쪽입니다. (남자 이름)

  • 고정date_trunc ( 'Quarter', ...)(Böjthe Zoltán)

    사전 릴메이저 토토 사이트는이 기능에 대한 잘못된 값을 반환했습니다 부르다.

  • 만들기initcap ()더 호환됩니다 Oracle (Mike Nolan)

    initcap ()이제 문자를 어퍼 캐싱합니다 비 성격이 아닌 비 성격의 특성 이후에 나타납니다 공백 후.

  • 허용Datestyle필드 주문 ISO-8601 형식이 아닌 날짜 값 (GREG)

  • 새로운 추가Datestylemdy, dmyYMD입력 필드 순서를 설정하려면; 명예USand유럽후진 호환성 (Tom)

  • 문자 리터럴과 같은'now'또는'오늘'더 이상 열로 작동하지 않습니다 기본. 와 같은 기능 사용now (), current_timestamp대신. (변화 준비된 진술에 필수) (Tom)

  • NAN을 다른 값보다 큰 것으로 취급min ()/max ()(Tom)

    NAN은 대부분의 일반 숫자 값으로 이미 정렬되었습니다. 목적이지만min ()max ()이것을 제대로 얻지 못했습니다.

  • 간격 방지 억제 방지:00초 디스플레이

  • 새로운 기능pg_get_triggerDef (PrettyPrint)pg_conversion_is_visible ()(크메이저 토토 사이트토퍼)

  • 지정 시간을040506또는0405(Tom)

  • 입력 날짜 순서가 지금이어야합니다yyyy-mm-dd(4 자리 연도) 또는 매치Datestyle

  • 만들기pg_get_constraintdef지원 독특하고 1 차 키 및 확인 제약 조건 (Christopher)

E.253.3.8. 서버 측 언어 변경

  • PL/PGSQL 이후 충돌 방지반환 다음Zero-Row 레코드 변수 (TOM)에 사용됩니다.

  • pl/python 's makeSPI_EXECUTE인터페이스 핸들 널 값을 올바르게 (Andrew Bosma)

  • pl/pgsql이 복합 유형의 변수를 선언하도록 허용%RowType(Tom)

  • 수정 pl/python 's_quote ()함수 큰 정수를 처리하려면

  • pl/python을 신뢰할 수없는 언어로 만들었습니다. 이제Plpythonu(Kevin Jacobs, Tom)

    파이썬 언어는 더 이상 제한된 실행을 지원하지 않습니다 환경, 따라서 신뢰할 수있는 PL/파이썬 버전이 제거되었습니다. 만약에 이 상황이 변경됩니다. 비 슈퍼 사용자가 읽을 것입니다.

  • 다형성 PL/PGSQL 함수 허용 (Joe, Tom)

  • 다형성 SQL 함수 허용 (joe)

  • pl/pgsql에서 개선 된 컴파일 된 기능 캐싱 메커니즘 다형성에 대한 완전한 지원 (Joe)

  • 새 매개 변수 추가$ 0pl/pgsql 함수의 실제 반환 유형 (Joe)을 나타내는

  • PL/TCL 및 PL/PYTHON이 다중에서 동일한 트리거를 사용하도록 허용 테이블 (Tom)

  • 고정 pl/tcl 'sSPI_PREPAREto 매개 변수 유형 목록에서 정규화 된 유형 이름을 허용합니다. (1 월)

E.253.3.9. PSQL 변경

  • add\ pset Pager Always항상 사용하려면 호출기 (Greg)

    행 수가있는 경우에도 호출기를 사용하도록 강요합니다. 화면 높이보다 적습니다. 이것은 랩하는 행에 유용합니다 여러 화면 행에서.

  • 탭 완료 개선 (Rod, Ross Reedstrom, Ian Barwick)

  • Reorder\?그룹에 대한 도움 (Harald Armin Massa, Bruce)

  • 리스팅 스키마, 캐스트 및 등록에 대한 백 슬래시 명령 추가 전환 (크메이저 토토 사이트토퍼)

  • \ encoding이제 서버 매개 변수client_encoding(Tom)

    이전 버전에서\ encoding그렇지 않았습니다 사용한 변경 사항을 인코딩하는 것을 알고세트 client_encoding.

  • 편집기 버퍼를 읽기 라인 히스토리 (Ross)로 저장

    언제\ e쿼리를 편집하는 데 사용됩니다 UP을 사용하여 검색하기 위해 결과가 저장됩니다. 화살.

  • 개선\ dDisplay (Christopher)

  • 더 많은 표준 구성 (GREG)로 HTML 모드 향상

  • NEW\ autocommit 끄기기능 (남자 이름)

    이것은 제거 된 서버 매개 변수를 대신합니다autocommit.

  • NEW\ verbosity set오류를 제어하려면 세부 사항 (Tom)

    이것은 새로운 오류보고 세부 사항을 제어합니다.

  • 새로운 프롬프트 탈출 시퀀스%X보여 드리겠습니다 거래 상태 (TOM)

  • 긴 옵션을위한PSQL지금입니다 모든 플랫폼에서 사용 가능

E.253.3.10. pg_dump 변경

  • TAR 형식 및 대형을 포함한 다중 pg_dump 수정 사물

  • pg_dump가 특정 스키마 (Neil)를 덤프하도록 허용

  • pg_dump preserve 컬럼 저장 특성을 만듭니다 (크메이저 토토 사이트토퍼)

    이것은 보존ALTER 테이블 ... 세트 저장정보.

  • PG_DUMP PRESERVE클러스터특성 (Christopher)

  • pg_dumpall 사용grant/Revoke덤프 데이터베이스 레벨 권한 (TOM)

  • pg_dumpall이 옵션을 지원하도록 허용-a, -s, -xof pg_dump (tom)

  • pg_dump가 지정된 식별자를 낮추지 않도록합니다 명령 줄 (tom)

  • pg_dump 옵션-서지 세션 증명and-no-reconnect이제 아무것도하지 마십시오. 모든 덤프 사용세션 승인 설정

    pg_dump는 더 이상 사용자를 스위치로 다시 연결하지 않고 항상 대신 사용세션 승인 설정. 이것은 할 것입니다 복원 중 암호 프롬프트 감소.

  • 긴 옵션pg_dumpare 이제 모든 플랫폼에서 사용할 수 있습니다

    PostgreSQL이제 자체가 포함되어 있습니다 장기 옵션 처리 루틴.

E.253.3.11. LIBPQ 변경

  • 함수 추가PQFREEMEM무료 Windows의 메모리, 제안Notify(브루스)

    Windows 동일한 라이브러리의 함수이므로free ()할당 된 메모리를 풀기 위해 작동하지 않습니다 by libpq.PQFREEMEM는 올바른 방법입니다 특히 Windows에서 LibPQ 메모리를 자유롭게하려면 다른 플랫폼도

  • 문서 서비스 기능 및 샘플 파일 추가 (Bruce)

    이것은 클라이언트가 클라이언트 컴퓨터의 중앙 파일.

  • makepqsetdblogin동일합니다 기본값 aspqconnectdb(Tom)

  • 결과 세트가 너무 큰 경우 libpq가 깨끗하게 실패하도록 허용 (남자 이름)

  • 기능의 성능 향상PQUNESCAPEBYTEA(벤 램)

  • 스레드-안전 libpq 허용구성옵션-enable-shread-safety(Lee 친절, 필립 야라)

  • 기능 허용pqinternalnoticeto 사전 형식이 아닌 형식 문자열과 인수를 수락하십시오. 메시지 (Tom, Sean Chittenden)

  • 제어 SSL 협상sslmode비활성화, 허용, 선호요구(Jon Jensen)

  • 새 오류 코드 및 텍스트 레벨 허용

  • 쿼리의 기본 테이블 및 열에 액세스 할 수 있습니다. 결과 (Tom)

    이것은 알고 싶은 쿼리 빌더 응용 프로그램에 도움이됩니다. 특정과 관련된 기본 테이블 및 열 이름 결과 세트.

  • 현재 트랜잭션 상태 (TOM)에 대한 액세스 허용

  • 이진 데이터를 서버 (TOM)에 직접 전달하는 기능 추가

  • 함수 추가pqExecpreparedandpqsendqueryprepared기능 이전에 준비된 진술 (TOM)의 BIND/실행 수행

E.253.3.12. JDBC 변경

  • 허용SetNull업데이트 가능한 결과 세트

  • 허용executebatch준비된 성명서 (배리)

  • 지원 SSL 연결 (Barry)

  • 결과 세트 (Paul Sorenson)의 스키마 이름 처리

  • Refcursor Support (Nic Ferrier) 추가

E.253.3.13. 기타 인터페이스 변경

  • libpgtcl 동안 메모리 누출 또는 코어 덤프를 방지합니다 종료 (Tom)

  • eCPG에 정보와 호환성을 추가하십시오

    ECPG가 포함 된 C 프로그램을 처리 할 수 ​​있습니다. 특정 Informix 확장을 사용하여 작성되었습니다.

  • 유형 추가Decimal고정 된 ECPG로 Informix (Michael)의 길이

  • 스레드-안전 내장 SQL 프로그램 허용구성옵션-enable-shread-safety(Lee Kindness, Bruce)

    이것은 여러 스레드가 동일하게 데이터베이스에 액세스 할 수 있도록합니다. 시간.

  • Python Client PygresQL을 옮겼습니다http : //www.pygresql.org(Marc)

E.253.3.14. 소스 코드 변경

  • 별도의 플랫폼 형상 회귀 결과를 방지합니다 파일 (tom)

  • 개선 된 PPC Locking Primitive (Reinhard Max)

  • 새로운 기능Palloc0할당 그리고 명확한 기억 (Bruce)

  • S390X CPU의 잠금 코드 수정 (64 비트) (TOM)

  • OpenBSD가 로컬 IPR 자격 증명을 사용하도록 허용 (William Ahern)

  • 쿼리 계획 트리를 executor (TOM)에게 읽습니다 (TOM)

  • Darwin 스타트 업 스크립트 추가 (David Wheeler)

  • LIBPQ가 Borland C ++ 컴파일러로 컴파일하도록 허용 (Lester Godwin, Karl Waclawek)

  • 우리 자신의 버전 사용getOpt_long ()필요한 경우 (Peter)

  • 관리 스크립트를 C (Peter)로 변환합니다.

  • Bison = 1.85 이제PostgreSQL문법, CVS에서 건축하는 경우

  • 문서를 하나의 책 (Peter)으로 병합합니다

  • Windows 호환 기능 추가 (Bruce)

  • Mingw (Bruce)에서 클라이언트 인터페이스를 컴파일하도록 허용

  • NEWEreport ()오류에 대한 기능 보고 (Tom)

  • Linux (Peter)에서 인텔 컴파일러 지원

  • Linux 스타트 업 스크립트 개선 (Slawomir Sudnik, Darko Prenosil)

  • AMD Opteron 및 Itanium에 대한 지원 추가 (Jeffrey W. Baker, 브루스)

  • 제거--enable-recode옵션구성

    이것은 우리가 가지고있는 지금 더 이상 필요하지 않았습니다변환 생성.

  • Spinlock 코드를 찾을 수없는 경우 컴파일 오류 생성 (브루스)

    스핀 락 코드가없는 플랫폼은 이제 컴파일되지 않고 오히려 semaphores를 조용히 사용하는 것보다. 이 실패는 a로 비활성화 될 수 있습니다 새로운구성옵션.

E.253.3.15. Contrib Changes

  • DBMirror 라이센스 변경 BSD

  • Earthdistance 개선 (Bruno Wolff III)

  • pgcrypto (Marko Kreen)의 이식성 개선

  • XML (John Grey, Michael Richards)의 충돌 방지

  • Oracle 업데이트

  • MySQL 업데이트

  • 큐브 업데이트 (Bruno Wolff III)

  • 큐브를 사용하려면 EarthDistance 업데이트 (Bruno Wolff III)

  • BTREE_GIST 업데이트 (Oleg)

  • New Tsearch2 전체 텍스트 검색 모듈 (Oleg, Teodor)

  • TableFuncs (Joe)에 해시 기반 Crosstab 함수 추가

  • 순서 대상 일련 열 추가Connectby ()TableFuncs의 형제 자매 (Nabil Sayegh, Joe)

  • dblink (Shridhar Daithanka)

  • 새로운 PG_AUTOVACUUM 허용 자동진공(Matthew T. O'Connor)

  • PGBENCH 명예 환경 변수 만들기pghost, pgport, PGUSER(Tatsuo)

  • Intarray 개선 (Teodor Sigaev)

  • pgstattuple 개선 (로드)

  • 버그 수정Metaphone ()in fuzzystrmatch

  • adddepend (Rod) 향상

  • SPI/TIMETRAVEL 업데이트 (Böjthe Zoltán)

  • 수정 dbase-s옵션 및 개선 비 ASCII 취급 (Thomas Behr, Márcio Smiderle)

  • 기능이 기본적으로 포함되어 있기 때문에 배열 모듈을 제거하십시오 (조)