2025 년 7 월 17 일 : | Postgresql 18 베타 2 릴토토 캔!
지원되지 않는 버전 :9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4
이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

E.227. 릴리스 7.4

출시 날짜 : 2003-11-17

E.227.1. 개요

이 릴토토 캔의 주요 변경 사항 :

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

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

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

이전 릴리스에서 그룹화 할 행은 먼저 정렬되었습니다. 7.4 코드는 할 수 있습니다그룹 by정렬없이 축적하여 그룹 당 하나의 항목이있는 해시 테이블로 결과. 그것 그러나 해시가 테이블은 너무 큰 것으로 추정됩니다Sort_mem.

New Multikey 해시 조인 기능

이전 릴리스에서 해시 조인은 발생할 수 있습니다 단일 키. 이 릴리스를 사용하면 다중 색상 해시가 가능합니다 조인.

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

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

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

전체 정규 표현 모듈이 교체되었습니다 헨리 스펜서 (Henry Spencer)의 새 버전으로 원래 작성되었습니다 TCL의 경우. 코드는 성능을 크게 향상시킵니다 정규 표현의 여러 맛을 지원합니다.

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

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

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

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

SSL 성능의 주요 개선 및 신뢰할 수 있음

SSL API에 매우 익숙한 몇몇 사람들이 있습니다 SSL 키 협상을 개선하기 위해 SSL 코드를 점검했습니다 및 오류 복구.

자유 공간 맵을 효율적으로 빈 색인을 재사용합니다 페이지 및 기타 여유 공간 관리 개선

이전 릴리스에서 B- 트리 색인 페이지 삭제 된 행으로 인해 비워두면 재사용 할 수 있습니다. 원래 행과 유사한 인덱스 값의 행으로 해당 페이지에 색인이 표시되었습니다. 7.4,진공빈 색인 페이지를 기록합니다 향후 인덱스 행에 대해 재사용 할 수 있습니다.

SQL 표준 정보 스키마

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

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

명령fetchand움직임정비되었습니다 SQL 표준에 더 가깝게 준수합니다.

커서는 거래 외부에 존재할 수 있습니다

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

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

새 프로토콜은 오류 코드, 더 많은 상태를 추가합니다 정보, 더 빠른 스타트 업, 이진에 대한 더 나은 지원 데이터 전송, 파라미터 값은 SQL에서 분리되었습니다 명령, 프로토콜에서 준비된 명령문 레벨, 그리고 더 깨끗한 복구COPY실패. 오래된 프로토콜은 여전히 있습니다 서버와 클라이언트 모두에서 지원합니다.

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

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

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

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

New Autovacuum 도구

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

배열 처리가 개선되어 서버 코어

많은 배열 제한이 제거되고 배열이되었습니다 완전히 지원되는 데이터 유형처럼 행동하십시오.

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

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

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

  • 서버 측 자동 커밋 설정이 제거되었습니다 클라이언트 응용 프로그램 및 언어에서 상환됩니다. 서버 측 자동 커밋은 너무 많은 문제를 일으켰습니다 자신의 제어를 원하는 언어 및 응용 프로그램 자동 커밋 동작, 따라서 자동 커밋이 제거되었습니다 서버 및 개별 클라이언트 API에 추가됩니다 적절한.

  • 오류 메시지 문구가 실질적으로 변경되었습니다 풀어 주다. 이를 만들기 위해 상당한 노력이 투자되었습니다 메시지가 더 일관되고 사용자 지향적입니다. 당신의 경우 응용 프로그램은 다른 오류 조건을 감지하려고 시도합니다 오류 메시지를 파싱하면 강력하게 권장됩니다 대신 새로운 오류 코드 시설을 사용하십시오.

  • 명시 적 사용을 사용하는 내부 조인Join구문은 다르게 행동 할 수 있습니다 그들은 이제 더 잘 최적화되었습니다.

  • 여러 서버 구성 매개 변수가 있습니다 명확성을 위해 이름이 바뀌 었습니다 벌채 반출.

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

  • Fetchand움직임이제 실제 행 수를 반환하십시오 시작/끝에서 가져 오거나 움직이거나 0. 커서. 사전 릴리스는 전달 된 행 카운트를 반환합니다 명령은 실제로 가져 오거나 행한 행이 아닙니다. 움직이는.

  • COPY이제 파일을 처리 할 수 있습니다 캐리지 퇴치 또는 캐리지 성실/라인 피드를 사용하십시오 종말 순서. 문자 그대로의 캐리지 성장 및 라인 피드는 더 이상 데이터 값으로 허용되지 않습니다. 사용\ rand\ n대신.

  • 트레일 링 공백은 이제 변환 할 때 트림됩니다 유형char (n)tovarchar (n)또는텍스트. 이것이 대부분의 사람들이 항상 무엇을 하는가입니다 어쨌든 일어날 것으로 예상됩니다.

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

  • 모호한 날짜 값은 이제 순서와 일치해야합니다 에 의해 지정됨Datestyle설정. 이전 릴리스에서의 날짜 사양10/20/03날짜로 해석되었습니다 10 월에도Datestyle하루가 먼저해야한다고 지정했습니다. 7.4를 던질 것입니다 오류 날짜 사양이 현재에 대해 유효하지 않은 경우 설정Datestyle.

  • 함수Oidrand, oidsranduserfntest제거되었습니다. 이것들 기능은 더 이상 유용하지 않은 것으로 결정되었습니다.

  • 스트링 리터럴 시간 차단 날짜/시간을 지정합니다 값과 같은 값'now'또는'오늘'더 이상 작동하지 않습니다 기본 기본 표현식에서 예상; 그들은 이제 시간이 아닌 테이블 생성 시간이 기본값이 될 시간 삽입의. 와 같은 함수now (), current_timestamp또는current_date대신 사용해야합니다.

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

  • 달러 표시 ($)는 아니오입니다 운영자 이름에서 더 오래 허용됩니다. 대신 대신에있을 수 있습니다 식별자의 첫 번째 문자. 이것은 끝났습니다 다른 데이터베이스 시스템 및 TO와의 호환성을 향상시킵니다 매개 변수 자리 표시 자 시점은 구문 문제를 피하십시오 ($n)는 인접하여 작성되었습니다 연산자.

E.227.3. 변화

아래에 변경 사항에 대한 자세한 설명이 있습니다. 릴리스 7.4와 이전 주요 릴리스 사이.

E.227.3.1. 서버 작동 변경

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

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

    이전 릴리스에서 특정 SSL API 오류 보고서가있었습니다 올바르게 처리되지 않습니다. 이 릴리스는이를 수정합니다 문제.

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

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

  • 교착 상태가 감지 될 때 잠금 정보 인쇄 (남자 이름)

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

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

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

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

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

    이전 릴리스, 특정 드문 경우에 서버 충돌로 인해 B- 트리 지수가 손상 될 수 있습니다. 이것 릴리스는 마지막 몇 가지 드문 경우를 제거합니다.

  • B- 트리 인덱스 압축 및 빈 페이지 재사용 허용 (남자 이름)

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

    이전 릴리스에서 단일 페이지 인덱스가 분리 될 때 두 페이지, 다른 데이터베이스가 짧은 기간이있었습니다. 세션은 인덱스 항목을 보는 것을 놓칠 수 있습니다. 이번 릴리스 드문 실패 사례를 수정합니다.

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

  • 서버간에 여유 공간 정보를 보존하십시오 다시 시작 (Tom)

    이전 릴리스에서는 여유 공간지도가 저장되지 않았습니다. 우체국 장이 멈췄을 때 새로 시작된 서버 여유 공간 정보가 없었습니다. 이 릴리스는 여유 공간 맵, 서버가있을 때 다시로드합니다. 다시 시작.

  • 시작 시간 추가pg_stat_activity(Neil)

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

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

  • 트랜잭션 상태, 테이블 ID, 열 ID를 추가하십시오 클라이언트/서버 프로토콜 (TOM)

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

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

  • 새로운 오류 메시지 문구, 오류 코드 및 3 개 오류 세부 수준 (Tom, Joe, Peter)

E.227.3.2. 성능 향상

  • 해싱 추가그룹 byAggregates (Tom)

  • Nested-loop 조인을 여러 가지 색채에 대해 더 똑똑하게 만듭니다 인덱스 (Tom)

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

  • 지속적인 접이식 개선 (TOM)

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

  • 복합체를 사용하여 쿼리의 메모리 사용을 줄입니다 기능 (Tom)

    사전 릴리스에서는 할당 된 기능을 반환합니다 쿼리가 완료 될 때까지 메모리는 자유롭지 않습니다. 이것 릴리스는 기능 할당 된 메모리를 자유롭게 할 수 있습니다 함수 호출이 완료되면 총계를 줄입니다 함수에 의해 사용되는 메모리.

  • GEQO 최적화 성능 향상 (TOM)

    이 릴토토 캔는 몇 가지 비 효율성을 수정합니다 GEQO Optimizer는 잠재적 인 쿼리 경로를 관리합니다.

  • 허용in/해시 테이블을 통해 처리됩니다 (남자 이름)

  • 개선in (SubQuery)성능 (남자 이름)

  • 대부분의 허용in하위 쿼리 조인 (TOM)로 처리됩니다.

  • 패턴 매칭 작업은 인덱스를 사용할 수 있습니다 로케일 (Peter)

    ASCII가 아닌 지역이 에 대한 표준 색인좋아요비교. 이 릴리스는 특별한 것을 만들 수있는 방법을 추가합니다 index좋아요.

  • Postmaster가를 사용하여 사전로드하는 데 허용preload_libraries(Joe)

    로드하는 데 오랜 시간이 필요한 공유 라이브러리의 경우, 이 옵션은 라이브러리를 사전로드 할 수 있도록 사용할 수 있습니다. 우체국에서 및 모든 데이터베이스에 의해 상속됩니다 세션.

  • 특히 최적화 비용 계산을 개선합니다 하위 쿼리 (Tom)

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

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

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

  • 더 많은 데이터 유형에 대한 해시가 합류 허용 (TOM)

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

  • 매개 변수 추가from_collapse_limit변환을 제어합니다 조인 하위 쿼리 (TOM)

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

  • Optimizer에서 비트 맵핑 관계 세트를 사용하십시오 (남자 이름)

  • 연결 시작 시간 (TOM)

    새 클라이언트/서버 프로토콜에는 더 적은 네트워크가 필요합니다 데이터베이스 세션을 시작하기위한 패킷.

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

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

  • 드문 경우에 깨진 해시 인덱스를 수정하십시오 (남자 이름)

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

    사전 릴토토 캔가 해시 지수가 열악 해졌습니다 성능, 특히 높은 동시성 상황. 이 릴토토 캔는이를 수정하고 개발을 수정합니다 그룹은 B- 트리와 해시를 비교하는 보고서에 관심이 있습니다 인덱스 성능.

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

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

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

    숫자저장되었습니다 기본 100. 새 코드는 기본 10000을 크게 사용합니다. 더 나은 성능.

E.227.3.3. 서버 구성 변경

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

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

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

  • Renameshow_source_porttolog_source_port(브루스)

  • Renamehostname_lookuptolog_hostname(브루스)

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

    이전 릴리스에서는 확인하기가 어려웠습니다 체크 포인트가 너무 자주 발생했습니다. 이 기능 과도 할 때 서버 로그에 경고를 추가합니다 체크 포인팅이 발생합니다.

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

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

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

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

  • log_min_messages/client_min_messagesNOW CONTROLSDebug_*출력 (Bruce)

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

  • Mac OS X RendezVous 서버 지원 추가 (Chris 캠벨)

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

  • 느린 진술 만 인쇄 할 수있는 능력 추가log_min_duration_statement(크토토 캔토퍼)

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

  • 허용pg_hba.conf수락 CIDR 형식의 Netmasks (Andrew Dunstan)

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

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

  • 새로운 매개 변수log_error_verbosity오류를 제어하려면 세부 사항 (Tom)

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

  • postgres-describe-config이제 서버 구성 변수를 덤프합니다 (Aizaz Ahmed, 베드로)

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

  • 새 열 추가pg_settings: Context, 타입, 소스, min_val, max_val(Joe)

  • 기본값 만들기shared_buffers1000 및max_connections100, if 가능 (Tom)

    사전 버전은 64 개의 공유 버퍼로 기본적으로PostgreSQL시작합니다 아주 오래된 시스템에서도. 이 릴리스는 금액을 테스트합니다 플랫폼에서 허용하는 공유 메모리의 가능한 경우 합리적인 기본값. 물론 사용자 여전히 자원 부하를 평가하는 것이 좋습니다 크기shared_buffers그에 따라.

  • NEWpg_hba.conf레코드 유형hostnosslSSL을 방지합니다 연결 (Jon Jensen)

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

  • 매개 변수 제거geqo_random_seed(Tom)

  • 서버 매개 변수 추가regex_flavor정규 표현을 제어합니다 가공 (tom)

  • 만들기PG_CTL더 나은 핸들 비표준 포트 (Greg)

E.227.3.4. 쿼리 변경

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

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

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

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

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

  • SQL 표준과 일치하도록 하위 퀘스트의 집계를 수정하십시오 (남자 이름)

    SQL 표준은 집계 기능을 말합니다 중첩 하위 퀴리 안에 나타나는 것은 외부에 속합니다 쿼리 주장에 외부 쿼리 만 포함 된 경우 변수. 이전의PostgreSQL릴토토 캔가 처리되지 않았습니다 이 훌륭한 지점이 정확합니다.

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

    기본적으로 쿼리에 언급 된 테이블은 다음과 같습니다 자동으로From조항이 아직 없으면 절정. 이것은 호환됩니다 역사적Postgres행동이지만 SQL 표준과 상반됩니다. 이 옵션 표준 호환 동작을 선택할 수 있습니다.

  • 허용업데이트 ... col = set col = 기본(로드)

    이것은 허용업데이트선언 된 기본값으로 열

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

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

  • 구현테이블 생성으로 실행하다(Neil, Peter)

E.227.3.5. 객체 조작 변경

  • 만들기시퀀스 만들기문법 SQL에 더 부여 : 2003 (Neil)

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

    이것은 트리거가 a의 끝에서 발사 할 수있게합니다. 진술, 트리거가 모든 액세스를 허용하지 않습니다. 진술에 의해 수정 된 행. 이 기능은입니다 향후 릴리스 계획.

  • 도메인에 대한 점검 제약 조건 (로드)

    이것은 도메인의 유용성을 크게 증가시킵니다 확인 제약 조건을 사용할 수 있습니다.

  • addAlter Domain(로드)

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

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

    PostgreSQL지원 제로 열 테이블. 이것은 발생하는 다양한 버그를 수정합니다 그러한 테이블을 사용할 때.

  • HATEALTER 테이블 ... 기본 추가 열쇠널 님이 아닌 제약 조건 (로드)

    이전 릴리스에서Alter Table ... 1 차 추가고유 한 인덱스를 추가하지만 a 무감각 한 제약 조건. 이 릴토토 캔에서 고정되어 있습니다.

  • addAlter Table ... OIDS(로드)

    새로운 행과 업데이트 된 행을 제어 할 수 있습니다 OID 열이 있습니다. 이것은 저축에 가장 유용합니다 저장 공간.

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

  • addAlter Table ... 클러스터 에(Alvaro Herrera)

    이 명령은에 의해 사용됩니다.pg_dump클러스터 열을 기록합니다 각 테이블은 이전에 클러스터링되었습니다. 이 정보가 사용됩니다 데이터베이스 전체 클러스터에 의해 이전에 모든 클러스터링됩니다 클러스터 된 테이블.

  • 도메인의 자동 유형 주조 개선 (로드, 남자 이름)

  • 첫 번째를 제외하고는 식별자에 달러 표시를 허용합니다 캐릭터 (Tom)

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

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

  • add보조금 옵션절 에게grant(Peter)

    이것은 활성화 된grant다른 사용자는 물체.

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

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

    이것은 테이블을 떨어 뜨릴 수있는 기능을 추가합니다. 트랜잭션 커밋에서 삭제 된 행

  • |with Hold(Neil)

    이전 릴리스에서는 커서가 끝났습니다 그것들을 만든 거래의. 커서가 될 수 있습니다 로 만들어진with Hold옵션으로 계속 액세스 할 수 있습니다 트랜잭션 창출 후.

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

    이전 릴리스에서Fetch 0남은 모든 행을 가져 왔고이동 0커서 끝으로 이동했습니다.

  • 원인Fetchand움직임행 수를 반환합니다 커서의 시작/끝에있는 경우 가져 오기/이동 또는 0, SQL 표준 당 (Bruce)

    사전 릴토토 캔에서 행 카운트가 반환 됨fetchand움직임숫자를 정확하게 반영하지 않았습니다 처리 된 줄의.

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

    무작위 액세스 허용 (앞뒤로 모두 어떤 종류의 쿼리로 스크롤)를 수행 할 수 없습니다 추가 작업없이. 만약에스크롤커서가있을 때 지정됩니다 생성 된이 추가 작업은 수행됩니다. 또한 커서가로 만들어진 경우스크롤 없음, 임의의 액세스는 없습니다 허용된.

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

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

  • 허용클러스터인덱스를 사용하려면 기본적으로 사전 클러스터링 된 것으로 표시 (Alvaro Herrera)

  • 허용클러스터모든 클러스터 테이블 (Alvaro Herrera)

    이것은 이전에 클러스터 된 모든 테이블을 허용합니다 단일 명령으로 다시 클러스터링 할 데이터베이스.

  • 예방클러스터부분에서 인덱스 (Tom)

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

  • 데이터 값으로 문자 그대로의 운송을 허용하지 않습니다. Backslash-Carriage Return and\ r여전히 허용됩니다 (Bruce)

  • COPYChanges (Binary,\.) (Tom)

  • 복구COPY실패 깨끗하게 (Tom)

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

  • 만들기Truncate트랜잭션-안전 (로드)

    Truncate이제 사용할 수 있습니다 거래 내부. 거래가 중단되면 의 변경Truncate자동으로 롤백.

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

  • addExecute 설명(Neil)

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

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

    이전 릴리스에서 기능 색인 만 지원됩니다 하나 이상의 열 이름에 적용되는 간단한 기능. 이것 릴리스는 모든 유형의 스칼라 식을 허용합니다.

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

  • HATE데이터베이스에 대한 의견on 비 국소 데이터베이스는 경고가 아닌 경고를 생성합니다 오류 (로드)

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

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

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

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

E.227.3.7. 데이터 유형 및 기능 변화

  • 새로운 서버 매개 변수extra_float_digits정밀도를 제어합니다 부동 소수점 숫자 표시 (Pedro Ferreira, 남자 이름)

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

  • 허용+1300숫자로 FJST (TOM) 용 시간대 지정자

  • 거의 사용되지 않는 기능 제거Oidrand, oidsranduserfntest함수 (Neil)

  • addmd5 ()함수로 메인 서버, 이미Contrib/Pgcrypto(Joe)

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

  • 날짜 범위 증가타임 스탬프(John Cochran)

  • 변경추출물 (Epoch From 타임 스탬프)SO타임 스탬프없이 시간대| GMT가 아닌 현지 시간에있는 것으로 가정합니다 (남자 이름)

  • 운영 체제의 경우 0에 의한 트랩 디비전 그것을 방해하지 않습니다 (Tom)

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

  • NEWhostmask ()함수 (Greg Wickham)

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

  • 인수 데이터 유형을 취할 수있는 함수 허용 그리고 사용을 사용하여 모든 데이터 유형을 반환합니다.AnylementandAnyArray(Joe)

    이것은 작동 할 수있는 기능의 생성을 허용합니다 모든 데이터 유형으로.

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

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

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

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

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

    이것은 배열이 값 목록처럼 행동 할 수 있습니다. 와 같은 목적으로선택 *에서 탭에서 COL에서 (array_val).

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

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

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

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

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

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

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

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

  • 만들기float (P)정밀도 측정P이진 숫자는 아닙니다 십진수 (Tom)

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

  • addfamily ()함수로 주소가 IPv4 또는 IPv6인지보고하십시오 (Michael 낙서)

  • HATEShow Datestyle생성 와 유사한 출력세트 Datestyle(Tom)

  • makeExtract (Timezone)Set/Show Time Zone시간대 오프셋의 부호에 대한 SQL 협약, 즉 긍정적 인 것은 UTC (Tom)에서 동쪽입니다

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

    이전 릴리스는 이에 대한 잘못된 값을 반환했습니다 기능 호출.

  • makeinitcap ()더 Oracle (Mike Nolan)과 호환

    initcap ()이제 어퍼 캐시 비 성격의 문자 이후에 나타나는 편지, 공백 이후보다는 대신.

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

  • 새로운 추가Datestylemdy, dmyYMDto 입력 필드 순서를 설정합니다. 명예US유럽뒤로 호환성 (Tom)

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

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

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

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

  • 새로운 기능pg_get_triggerDef (PrettyPrint)pg_conversion_is_visible ()(Christopher)

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

  • 입력 날짜 순서가 이제yyyy-mm-dd(4 자리 연도) 또는 매치Datestyle

  • 만들기pg_get_constraintdef고유 한 지원, 1 차 키, 및 확인 제약 조건 (Christopher)

E.227.3.8. 서버 측 언어 변경

  • PL/PGSQL CRASH 방지시기반환 다음제로 로우 레코드 변수 (TOM)에 사용됩니다.

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

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

  • 수정 pl/python 's_quote ()큰 정수를 다루는 기능

  • PL/Python을 신뢰할 수없는 언어로 만들었습니다. 이제Plpythonu(Kevin Jacobs, 남자 이름)

    파이썬 언어는 더 이상 제한을 지원하지 않습니다 실행 환경이므로 신뢰할 수있는 버전입니다 PL/파이썬이 제거되었습니다. 이 상황이 바뀌면 a 비 슈퍼 사용자가 사용할 수있는 PL/Python의 버전 읽을 것입니다.

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

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

  • 개선 된 컴파일 된 기능 캐싱 메커니즘 다형성에 대한 완전한 지원을 가진 PL/PGSQL (JOE)

  • 새 매개 변수 추가$ 0in 함수의 실제 반환 유형을 나타내는 PL/PGSQL (조)

  • pl/tcl 및 pl/python이 동일한 트리거를 사용하도록 허용 여러 테이블 (Tom)

  • 고정 pl/tcl 'sSPI_PREPARE완전히 자격을 갖추려면 매개 변수 유형 목록 (Jan)의 유형 이름

E.227.3.9. PSQL 변경

  • add\ pset Pager Alwaysto 항상 Pager (Greg)를 사용하십시오

    이것은 수의 수에 있어도 호출기를 사용하도록 강요합니다. 행은 화면 높이보다 작습니다. 이것은 가치가 있습니다 여러 화면 행을 가로 지르는 행.

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

  • Reorder\?도움 그룹화 (Harald Armin Massa, Bruce)

  • 리스팅 스키마, 캐스트 및 및 전환 (크토토 캔토퍼)

  • \ encoding이제 기반으로 변경됩니다 서버 매개 변수에서client_encoding(Tom)

    이전 버전에서\ encoding인코딩을 알지 못했습니다 사용을 사용하여 변경세트 client_encoding.

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

    when\ ea 쿼리, 결과는 READLINE 기록에 저장됩니다. 위쪽 화살표를 사용하여 검색합니다.

  • 개선\ d디스플레이 (크토토 캔토퍼)

  • 더 많은 표준 정보가되도록 HTML 모드를 향상시킵니다 (그렉)

  • NEW\ autocommit set기능 (TOM)

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

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

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

  • 새로운 프롬프트 탈출 시퀀스%x거래 상태 표시 (TOM)

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

E.227.3.10. pg_dump 변경

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

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

  • PG_DUMP PRESERVE CORMENT 스토리지 특성을 만듭니다 (크토토 캔토퍼)

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

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

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

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

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

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

    pg_dump는 더 이상 사용자를 스위치로 다시 연결하지 않지만 대신 항상 사용세션 설정 권한 부여. 이렇게하면 비밀번호 프롬프트가 줄어 듭니다 복원 중에.

  • 긴 옵션을위한pg_dump이제 모든 것을 사용할 수 있습니다 플랫폼

    postgresql지금 자체 장기 옵션 처리 루틴이 포함되어 있습니다.

E.227.3.11. LIBPQ 변경

  • 함수 추가PQFREEMEMWindows에서 메모리를 자유롭게하려면Notify(브루스)

    Windows는 라이브러리에 메모리를 할당해야합니다 같은 라이브러리에서 함수에 의해 해제되므로free ()작동하지 않습니다 libpq에 의해 할당 된 메모리 자유PQFREEMEM는 무료로 제공되는 적절한 방법입니다 특히 Windows에서 LibPQ 메모리가 권장되며 권장됩니다 다른 플랫폼도 있습니다.

  • 문서 서비스 기능을하고 샘플 파일을 추가하십시오 (브루스)

    이를 통해 클라이언트가 연결 정보를 찾을 수 있습니다 클라이언트 컴퓨터의 중앙 파일에서.

  • 만들기pqsetdblogin와 동일한 기본값PQCONNECTDB(Tom)

  • 결과 세트가 너무있을 때 libpq가 깨끗하게 실패하도록 허용 큰 (Tom)

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

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

  • 기능 허용pqinternalnotice형식을 수락합니다 사전 형식이 아닌 문자열과 인수 메시지 (Tom, Sean Chittenden)

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

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

  • 쿼리 결과 (Tom)

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

  • 현재 트랜잭션 상태에 액세스 할 수 있습니다 (남자 이름)

  • 이진 데이터를 서버로 직접 전달하는 기능 추가 (남자 이름)

  • 함수 추가pqExecpreparedandpqsendqueryprepared기능 이전에 준비된 진술의 바인드/실행을 수행하십시오 (남자 이름)

E.227.3.12. JDBC 변경

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

  • 허용executebatcha 준비된 진술 (Barry)

  • 지원 SSL 연결 (Barry)

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

  • Refcursor Support (Nic Ferrier) 추가

E.227.3.13. 기타 인터페이스 변화

  • 가능한 메모리 누출 또는 코어 덤프를 방지합니다 libpgtcl 셧다운 (Tom)

  • ECPG (Michael)에 Informix 호환성 추가

    ECPG가 임베디드 C 프로그램을 처리 할 수 있습니다 특정 Informix 확장을 사용하여 작성되었습니다.

  • 유형 추가DecimalInformix (Michael)의 경우 고정 길이

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

    이렇게하면 여러 스레드가 데이터베이스에 액세스 할 수 있습니다 동시.

  • Python Client Pygresql을http : //www.pygresql.org(Marc)

E.227.3.14. 소스 코드 변경

  • 별도의 플랫폼 형상 회귀가 필요하지 않습니다 결과 파일 (tom)

  • 개선 된 PPC Locking Primitive (Reinhard Max)

  • 새로운 기능Palloc0to 메모리 할당 및 명확한 기억 (Bruce)

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

  • OpenBSD가 로컬 IPR 자격 증명을 사용하도록 허용합니다 (William 아 른)

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

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

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

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

  • 관리 스크립트를 C (Peter)로 변환

  • Bison = 1.85 이제PostgreSQL문법, if CVS에서 건물

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

  • Windows 호환성 기능 추가 (Bruce)

  • MINGW에서 클라이언트 인터페이스를 컴파일하도록 허용합니다 (브루스)

  • NEWEreport ()함수 오류보고 (TOM)

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

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

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

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

    이것은 더 이상 필요하지 않았습니다.변환 생성.

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

    스핀 락 코드가없는 플랫폼은 이제 실패합니다 semaphores를 조용히 사용하지 않고 컴파일하십시오. 이것 새로운 상태에서 실패를 비활성화 할 수 있습니다구성옵션.

E.227.3.15. Contrib Changes

  • DBMirror 라이센스 변경

  • 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에 해시 기반 CrosStab 함수를 추가하십시오 (조)

  • 주문에 직렬 열 추가Connectby ()TableFuncs의 형제 (Nabil Sayegh, Joe)

  • DBLINK (Shridhar Daithanka)

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

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

  • Intarray 개선 (Teodor Sigaev)

  • PGSTATTUPLE (ROD) 개선

  • 버그 수정Metaphone ()in fuzzystrmatch

  • adddepend (Rod) 개선

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

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

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