출시일: 2003-11-17
이번 릴토토 사이트 추천의 주요 변경 사항:
이전 릴리스에서는,IN/포함되지 않음하위 쿼리는 순차적으로 상위 쿼리에 결합되었습니다. 일치하는 항목을 찾기 위해 하위 쿼리를 스캔합니다. 7.4 코드 일반 사람들이 사용하는 것과 동일한 정교한 기술을 사용합니다. 조인하므로 훨씬 빠릅니다. 안IN이제 일반적으로 다음과 같이 빠릅니다. 동등한 것보다 빠릅니다.존재함하위 쿼리; 이는 기존의 통념을 뒤집는 것이다. 이전 릴리스에 적용되었습니다.
이전 릴리스에서는 그룹화할 행을 다음과 같이 지정해야 했습니다. 먼저 정렬했습니다. 7.4 코드는 가능합니다.그룹별정렬하지 않고 누적하여 결과는 그룹당 하나의 항목이 있는 해시 테이블로 생성됩니다. 그것 그러나 해시가 다음과 같은 경우에는 여전히 정렬 기술을 사용합니다. 테이블이 너무 커서 들어갈 수 없는 것으로 추정됩니다.sort_mem.
이전 릴리스에서는 해시 조인이 다음에서만 발생할 수 있었습니다. 단일 키. 이 릴리스에서는 다중 열 해시가 허용됩니다. 조인합니다.
이전 릴리스에서는 명시적 구문을 사용하여 쿼리를 평가했습니다.가입순서로만 구문 구문에 의해 암시됩니다. 7.4에서는 다음의 전체 최적화가 가능합니다. 이러한 쿼리는 최적화 프로그램이 모든 것을 고려함을 의미합니다. 가능한 조인 순서를 선택하고 가장 효율적인 순서를 선택합니다. 그러나 외부 조인은 선언된 규칙을 따라야 합니다. 주문합니다.
전체 정규식 모듈이 교체되었습니다. 원래 작성된 Henry Spencer의 새 버전 Tcl의 경우. 코드는 성능을 크게 향상시키고 다양한 종류의 정규식을 지원합니다.
이제 다음을 포함하여 간단한 SQL 함수를 인라인할 수 있습니다. 기본 쿼리의 SQL. 이렇게 하면 성능이 향상됩니다. 호출당 오버헤드를 제거합니다. 이는 간단한 SQL을 의미합니다. 함수는 이제 매크로처럼 동작합니다.
이전 릴리스에서는 IPv4 연결만 허용되었으며 IP 데이터 유형은 IPv4 주소만 지원합니다. 이 릴리스에는 두 가지 모두에서 완전한 IPv6 지원이 추가되었습니다. 지역.
SSL API에 매우 익숙한 몇몇 사람들은 SSL 키 협상을 개선하기 위해 SSL 코드를 점검했습니다. 및 오류 복구.
이전 릴리스에서는 B-트리 인덱스 페이지가 삭제된 행은 재사용만 가능하므로 비어 있습니다. 원래 행과 유사한 인덱스 값을 가진 행 기준 해당 페이지에 색인이 생성되어 있습니다. 7.4에서는,진공빈 색인 페이지를 기록하고 향후 인덱스 행에 재사용할 수 있습니다.
정보 스키마는 표준화된 및 스키마 개체에 대한 정보에 액세스하는 안정적인 방법 데이터베이스에 정의되어 있습니다.
명령어가져오기그리고이동다음으로 정밀 검사되었습니다. SQL 표준을 더욱 밀접하게 준수합니다.
이 커서는 보유 가능한 커서라고도 합니다.
새 프로토콜은 오류 코드, 더 많은 상태를 추가합니다. 정보, 더 빠른 시작, 더 나은 바이너리 지원 데이터 전송, SQL과 분리된 매개변수 값 프로토콜에서 사용할 수 있는 명령, 준비된 명령문 수준, 그리고 더 깨끗한 복구복사실패. 이전 프로토콜은 여전히 서버와 클라이언트 모두에서 지원됩니다.
이전에는libpq이미 지원되는 스레드를 릴리스합니다. 이번 릴리스에서는 개선되었습니다. 스레드로부터 안전하지 않은 일부 코드를 수정하여 스레드 안전성을 확보합니다. 데이터베이스 연결 시작 중에 사용되었습니다.구성옵션--스레드 안전성 활성화다음에 사용해야 합니다. 이 기능을 활성화하세요.
새로운 전체 텍스트 색인 제품군을 다음에서 사용할 수 있습니다.기여/tsearch2.
새로운 autovacuum 도구기여/autovacuum데이터베이스를 모니터링합니다 에 대한 통계 테이블삽입/업데이트/삭제활동을 수행하고 다음과 같은 경우 자동으로 테이블을 비웁니다. 필요합니다.
많은 배열 제한이 제거되었으며 배열 완전히 지원되는 데이터 유형처럼 동작합니다.
다음을 사용하여 덤프/복원pg_dump을 원하는 분들은 필수입니다. 이전 릴리스의 데이터를 마이그레이션합니다.
다음 비호환성을 관찰하십시오:
서버측 자동 커밋 설정이 제거되었으며 클라이언트 애플리케이션과 언어로 다시 구현되었습니다. 서버 측 자동 커밋으로 인해 너무 많은 문제가 발생했습니다. 자신의 제어를 원하는 언어와 애플리케이션 자동 커밋 동작이 발생하므로 자동 커밋이 서버에 추가되고 개별 클라이언트 API에 다음과 같이 추가됩니다. 적절하다.
오류 메시지 문구가 크게 변경되었습니다. 릴리스. 만들기 위해 많은 노력을 기울였습니다. 메시지는 더욱 일관되고 사용자 지향적입니다. 만약 당신의 응용 프로그램은 다음을 통해 다양한 오류 조건을 감지하려고 합니다. 오류 메시지를 분석한 후 다음을 수행하는 것이 좋습니다. 대신 새로운 오류 코드 기능을 사용하세요.
명시적을 사용한 내부 조인가입구문이 다르게 동작할 수 있는 이유는 다음과 같습니다. 이제 더 잘 최적화되었습니다.
여러 서버 구성 매개변수가 변경되었습니다. 명확성을 위해 주로 이름이 변경되었습니다. 로깅.
0개 가져오기또는이동 0이제 아무것도 하지 않습니다. 이전 릴리스에서는,0을 가져옴나머지 모두 가져옵니다 행 및이동 0다음으로 이동하겠습니다. 커서 끝입니다.
가져오기그리고이동이제 실제 행 수를 반환합니다. 가져오거나 이동했거나, 시작/끝에 있는 경우 0입니다. 커서. 이전 릴리스에서는 전달된 행 수를 반환했습니다. 실제로 가져온 행 수가 아닌 명령 옮겼습니다.
복사이제 다음과 같은 파일을 처리할 수 있습니다. 캐리지 리턴 또는 캐리지 리턴/줄 바꿈 사용 줄 끝 시퀀스. 리터럴 캐리지 리턴 및 데이터 값에 줄 바꿈이 더 이상 허용되지 않습니다. 사용\r그리고\n대신.
이제 다음에서 변환할 때 후행 공백이 잘립니다. 유형문자(n)에varchar(n)또는텍스트. 대부분의 사람들이 항상 하는 말이 이것이다. 어쨌든 일어날 것으로 예상됩니다.
데이터 유형부동(p)이제 측정함p십진수가 아닌 이진수로 숫자. 새로운 동작은 SQL 표준을 따릅니다.
모호한 날짜 값은 이제 순서와 일치해야 합니다 에 의해 지정됨날짜 스타일설정. 이전 릴리스에서는 날짜 지정이10/20/03날짜로 해석되었습니다. 10월에라도날짜 스타일날짜가 첫 번째가 되도록 지정했습니다. 7.4는 던질 것이다 현재 날짜 사양이 유효하지 않은 경우 오류가 발생합니다. 설정날짜 스타일.
함수oidrand,
oidsrand및userfntest삭제되었습니다. 이것들
기능이 더 이상 유용하지 않은 것으로 확인되었습니다.
시변 날짜/시간을 지정하는 문자열 리터럴
값(예:)'지금'또는'오늘'더 이상 작동하지 않습니다.
열 기본 표현식에 예상됩니다. 그들은 이제
시간이 아닌 테이블 생성 시간을 기본값으로 설정
삽입의. 다음과 같은 함수지금(), 현재_타임스탬프또는현재_날짜대신 사용해야 합니다.
이전 릴리스에는 특수 코드가 있어서
다음과 같은 문자열'지금'이었어
에서 해석됨삽입시간이 아니라
그러나 이 해결 방법은 다루지 않았습니다.
모든 경우. 이제 릴리스 7.4에서는 기본값을 다음과 같이 요구합니다.
다음과 같은 함수를 사용하여 올바르게 정의되었습니다.지금()또는현재_타임스탬프. 이것들은 모두 작동합니다
상황.
달러 기호($)은 아니요 연산자 이름에는 더 이상 허용되지 않습니다. 대신에 식별자의 첫 번째 문자가 아닙니다. 이 작업은 다음과 같이 수행되었습니다. 다른 데이터베이스 시스템과의 호환성을 향상하고 매개변수 자리 표시자 사용 시 구문 문제 방지 ($n)은 다음에 인접하여 작성됩니다. 연산자.
아래에서 변경사항에 대한 자세한 설명을 찾을 수 있습니다. 릴리스 7.4와 이전 주요 릴리스 사이에 있습니다.
IPv6 서버 연결 허용(Nigel Kukard, Johan 조던, 브루스, 톰, 커트 록스, 앤드류 던스탄)
오류를 깔끔하게 처리하도록 SSL 수정(Nathan Mueller)
이전 릴리스에서는 특정 SSL API 오류 보고서가 올바르게 처리되지 않았습니다. 이번 릴리스에서는 이러한 문제가 해결되었습니다. 문제.
SSL 프로토콜 보안 및 성능 개선 (숀 치텐든)
SSL 키 재협상이 너무 자주 발생했습니다. SSL 성능이 저하됩니다. 또한 초기 키 처리 개선되었습니다.
교착 상태가 감지되면 잠금 정보 인쇄 (톰)
이를 통해 교착 상태 디버깅이 더 쉬워집니다. 상황.
업데이트/tmp소켓 제거를 피하기 위해 정기적으로 수정 시간 (톰)
이것은 예방에 도움이 됩니다/tmp디렉토리 정리 관리 서버 소켓 파일 제거 스크립트.
Mac OS X용 PAM 활성화(Aaron Hillegass)
B-트리 인덱스를 완전히 WAL 안전하도록 만들기 (Tom)
이전 릴리스에서는 드문 경우지만 서버가 충돌로 인해 B-트리 인덱스가 손상될 수 있습니다. 이 릴리스는 마지막 몇 가지 드문 사례를 제거합니다.
B-트리 인덱스 압축 및 빈 페이지 재사용 허용 (톰)
첫 번째 분할 중 일관되지 않은 인덱스 조회 수정 루트 페이지(Tom)
이전 릴리스에서는 단일 페이지 색인이 두 페이지에서 다른 데이터베이스가 잠시 동안 세션에서 색인 항목을 보지 못할 수 있습니다. 이번 릴리스 드문 실패 사례를 수정합니다.
여유 공간 맵 할당 로직 개선(톰)
서버 간 여유 공간 정보 보존 다시 시작합니다(톰)
이전 릴리스에서는 여유 공간 맵이 저장되지 않았습니다. 포스트마스터가 중지되었을 때 새로 시작된 서버 여유 공간 정보가 없습니다. 이 릴리스에서는 여유 공간 맵을 생성하고 서버가 작동할 때 이를 다시 로드합니다. 다시 시작되었습니다.
다음에 시작 시간 추가pg_stat_activity(닐)
손상된 디스크 페이지를 감지하는 새로운 코드; 으로 지우세요zero_damaged_pages(톰)
새로운 클라이언트/서버 프로토콜: 더 빨라지고 사용자 이름 길이가 없음 제한, 깨끗한 종료를 허용합니다.복사(톰)
트랜잭션 상태, 테이블 ID, 열 ID를 다음에 추가하십시오. 클라이언트/서버 프로토콜(Tom)
클라이언트/서버 프로토콜에 바이너리 I/O 추가(Tom)
자동 커밋 서버 설정 제거; 클라이언트로 이동 애플리케이션(톰)
새로운 오류 메시지 문구, 오류 코드 및 세 가지 오류 세부정보 수준(Tom, Joe, Peter)
해싱 추가그룹별집계(톰)
중첩 루프 조인을 다중 열에 대해 더욱 스마트하게 만듭니다. 인덱스(톰)
다중 키 해시 조인 허용 (Tom)
상시 폴딩 개선 (톰)
간단한 SQL 함수를 인라인하는 기능 추가 (Tom)
복합을 사용하여 쿼리의 메모리 사용량을 줄입니다. 함수(톰)
이전 릴리스에서는 반환 함수가 할당되었습니다. 메모리는 쿼리가 완료될 때까지 이를 해제하지 않습니다. 이 release를 사용하면 함수에 할당된 메모리를 해제할 수 있습니다. 함수 호출이 완료되면 총계가 줄어듭니다. 함수에서 사용하는 메모리입니다.
GEQO 최적화 성능 개선(톰)
이 릴토토 사이트 추천에서는 여러 가지 비효율성을 수정했습니다. GEQO 최적화 프로그램은 잠재적인 쿼리 경로를 관리합니다.
허용IN/포함되지 않음해시 테이블을 통해 처리됨 (톰)
개선다음에 없음(하위 쿼리)성능 (톰)
대부분 허용IN하위 쿼리 조인으로 처리됩니다(Tom)
패턴 일치 작업은 관계없이 색인을 사용할 수 있습니다. 로케일(피터)
ASCII가 아닌 로케일에서는 표준 색인좋아요비교. 이 릴토토 사이트 추천에는 특별한 것을 만드는 방법이 추가되었습니다. 에 대한 색인좋아요.
포스트마스터가 다음을 사용하여 라이브러리를 미리 로드하도록 허용preload_libraries(조)
로드하는 데 오랜 시간이 필요한 공유 라이브러리의 경우, 이 옵션을 사용하면 라이브러리를 미리 로드할 수 있습니다. 포스트마스터에 있고 모든 데이터베이스에 상속됩니다. 세션.
특히 최적화 비용 계산을 개선합니다. 하위 쿼리(Tom)
하위 쿼리 시 정렬 방지주문 으로상위 쿼리와 일치(Tom)
추론해 보세요여기서 a.x = b.y 그리고 바이 = 42또한 의미함a.x = 42(톰)
복잡한 조인에서 해시/병합 조인 허용 (Tom)
더 많은 데이터 유형에 대해 해시 조인 허용(Tom)
명시적인 내부 조인의 조인 최적화를 허용합니다. 비활성화join_collapse_limit(톰)
매개변수 추가from_collapse_limit변환 제어 조인할 하위 쿼리 수(Tom)
더 빠르고 강력한 정규식 코드 사용 Tcl에서 (Henry Spencer, Tom)
최적화기에서 비트맵 관계 세트 사용 (톰)
연결 시작 시간 개선 (톰)
새로운 클라이언트/서버 프로토콜에는 더 적은 수의 네트워크가 필요합니다. 데이터베이스 세션을 시작하기 위한 패킷입니다.
트리거/제약 성능 향상(스테판)
속도 향상col IN(상수, const, const, ...)(톰)
드물게 깨진 해시 인덱스 수정 (톰)
해시 인덱스 동시성 및 속도 향상(Tom)
이전 릴리스는 해시 인덱스가 좋지 않아 어려움을 겪었습니다. 성능, 특히 높은 동시성에 대한 성능 상황. 이번 릴리스에서는 이 문제가 해결되었으며 개발이 완료되었습니다. 그룹은 B-트리와 해시를 비교하는 보고서에 관심이 있습니다. 인덱스 성능.
복사를 위해 공유 버퍼를 32바이트 경계에 정렬 속도 개선(Manfred Spraul)
특정 CPU는 다음과 같은 경우에 더 빠른 데이터 복사를 수행합니다. 주소는 32바이트로 정렬됩니다.
데이터 유형숫자재구현됨 더 나은 성능을 위해(Tom)
숫자다음에 저장되어 있었습니다. 기본 100. 새 코드는 기본 10000을 사용합니다. 더 나은 성능.
서버 매개변수 이름 바꾸기server_min_messages에log_min_messages(브루스)
이것은 다음을 제어하는 대부분의 매개변수로 수행되었습니다. 서버 로그는로 시작합니다.로그_.
이름 바꾸기show_*_stats에log_*_stats(브루스)
이름 바꾸기show_source_port에log_source_port(브루스)
이름 바꾸기호스트 이름_룩업에로그_호스트 이름(브루스)
추가체크포인트_경고에 과도한 체크포인트 경고(Bruce)
이전 릴리스에서는 여부를 판단하기 어려웠습니다. 체크포인트가 너무 자주 발생했습니다. 이 기능 초과되면 서버 로그에 경고를 추가합니다. 체크포인트가 발생합니다.
현지화를 위한 새로운 읽기 전용 서버 매개변수 (톰)
디버그 서버 로그 메시지를 다음과 같이 출력하도록 변경디버그대신로그(브루스)
서버 로그 변수가 다음에 의해 꺼지는 것을 방지합니다. 비수퍼유저(Bruce)
이것은 보안 기능이므로 슈퍼유저가 아닌 사람은 할 수 없습니다. 다음에 의해 활성화된 로깅을 비활성화합니다. 관리자.
log_min_messages/client_min_messages이제 제어디버그_*출력 (브루스)
이것은 클라이언트 디버그 정보를 중앙 집중화하므로 모든 디버그가 가능합니다. 출력은 클라이언트나 서버로 전송될 수 있습니다. 로그.
Mac OS X Rendezvous 서버 지원 추가(Chris 캠벨)
이것은 Mac OS X 호스트가 네트워크에 쿼리할 수 있도록 허용합니다. 사용 가능PostgreSQL서버.
다음을 사용하여 느린 명령문만 인쇄하는 기능 추가log_min_duration_statement(크토토 사이트 추천토퍼)
이것은 자주 요청되는 디버깅 기능입니다. 관리자는 자신의 쿼리에서 느린 쿼리만 볼 수 있습니다. 서버 로그.
허용pg_hba.conf수락하다 CIDR 형식의 넷마스크(Andrew Dunstan)
이를 통해 관리자는 호스트 IP를 병합할 수 있습니다. 주소 및 넷마스크 필드를 단일 CIDR 필드로 변환합니다.pg_hba.conf.
새로운 읽기 전용 매개변수is_superuser(톰)
새 매개변수log_error_verbosity오류를 제어하기 위해 상세정보(톰)
이것은 새로운 오류 보고 기능과 함께 작동합니다. 힌트, 파일과 같은 추가 오류 정보 제공 이름과 줄 번호.
postgres --describe-config이제 서버 구성 변수를 덤프합니다(Aizaz Ahmed, 피터)
이 옵션은 관리 도구에 유용합니다. 구성 변수 이름과 해당 변수를 알아야 합니다. 최소값, 최대값, 기본값 및 설명.
다음에 새 열 추가pg_settings: 컨텍스트, 유형, 출처, min_val, max_val(조)
기본값으로 설정shared_buffers1000 그리고max_connections100, 만약 가능해요 (톰)
이전 버전에서는 공유 버퍼가 64개로 기본 설정되어 있으므로포스트그레SQL시작할 것입니다 아주 오래된 시스템에서도 말이죠. 이 릴리스에서는 금액을 테스트합니다. 플랫폼에서 허용하는 공유 메모리 중 더 많은 것을 선택합니다. 가능하다면 합리적인 기본값을 사용하세요. 물론 사용자들은 여전히 리소스 로드를 평가하고 크기shared_buffers따라서.
신규pg_hba.conf레코드 유형hostnosslSSL을 방지하기 위해 연결(존 젠슨)
이전 릴리스에서는 SSL을 방지할 방법이 없었습니다. 클라이언트와 서버가 모두 SSL을 지원하는 경우 연결. 이 옵션을 사용하면 해당 기능이 허용됩니다.
매개변수 제거geqo_random_seed(톰)
서버 매개변수 추가regex_flavor정규식 제어 처리 중(톰)
만들다pg_ctl더 나은 처리 비표준 포트(Greg)
새로운 SQL 표준 정보 스키마(피터)
읽기 전용 트랜잭션 추가(피터)
외래 키 위반 시 키 이름 및 값 인쇄 메시지(Dmitry Tkach)
사용자가 다음에서 자신의 쿼리를 볼 수 있도록 허용pg_stat_activity(케빈 브라운)
이전 릴리스에서는 수퍼유저만 쿼리를 볼 수 있었습니다. 문자열을 사용하여pg_stat_activity. 이제 일반 사용자는 자신의 쿼리 문자열을 볼 수 있습니다.
SQL 표준과 일치하도록 하위 쿼리의 집계 수정 (톰)
SQL 표준에 따르면 집계 함수는 중첩된 하위 쿼리 내에 나타나는 것은 외부 쿼리에 속합니다. 인수에 외부 쿼리만 포함되어 있는지 쿼리 변수. 이전PostgreSQL릴토토 사이트 추천가 처리되지 않았습니다. 이 좋은 점은 맞습니다.
테이블 자동 추가 방지 옵션 추가 쿼리에서 참조됨(Nigel J. Andrews)
기본적으로 쿼리에 언급된 테이블은 다음과 같습니다. 자동으로에 추가됩니다.발신절이 아직 거기에 없으면 절입니다. 이것은 호환됩니다 역사적으로포스트그레스동작은 SQL 표준에 위배됩니다. 이 옵션 표준 호환 동작을 선택할 수 있습니다.
허용업데이트 ... 설정 열 = 기본값(로드)
이렇게 하면업데이트설정하려면 열을 선언된 기본값으로 바꿉니다.
다음에서 표현식을 사용할 수 있도록 허용제한/오프셋(톰)
이전 릴리스에서는,제한/오프셋표현식은 사용할 수 없고 상수만 사용할 수 있습니다.
구현다음으로 테이블 생성 실행(닐, 피터)
만들다시퀀스 생성문법 SQL:2003(Neil)에 더 부합함
문 수준 트리거 추가 (Neil)
이렇게 하면 트리거가 종료될 때 실행될 수 있습니다. 문에서는 트리거가 모든 항목에 액세스하는 것을 허용하지 않습니다. 명령문에 의해 수정된 행. 이 기능은 향후 출시가 예정되어 있습니다.
도메인에 대한 검사 제약조건 추가(Rod)
이것은 다음과 같이 도메인의 유용성을 크게 증가시킵니다. 검사 제약 조건을 사용할 수 있도록 허용합니다.
추가도메인 변경(로드)
기존 도메인을 조작할 수 있습니다.
0열 테이블 버그 수정 (Tom)
PostgreSQL지원 열이 없는 테이블. 이는 발생하는 다양한 버그를 수정합니다. 그러한 테이블을 사용할 때.
가지고테이블 변경...기본 추가 키null이 아닌 제약 조건 추가(Rod)
이전 릴리스에서는,테이블 변경 ... 기본 추가고유 색인을 추가하지만 null이 아닌 제약 조건. 이 문제는 이번 릴리스에서 해결되었습니다.
추가테이블 변경...없이 OIDS(로드)
이를 통해 새로운 행과 업데이트된 행을 제어할 수 있습니다. OID 열이 있습니다. 이는 저장에 가장 유용합니다. 저장 공간.
추가순서 변경수정하다 최소, 최대, 증분, 캐시, 주기 값 (막대)
추가테이블 변경 ...클러스터 켜짐(알바로 에레라)
이 명령은 다음에서 사용됩니다.pg_dump클러스터 열을 기록하려면 각 테이블은 이전에 클러스터링되었습니다. 이 정보가 사용됩니다 데이터베이스 전체 클러스터로 이전에 모두 클러스터링 클러스터링된 테이블.
도메인에 대한 자동 유형 캐스팅 개선(Rod, 톰)
식별자에 첫 번째를 제외하고 달러 기호 허용 캐릭터(톰)
연산자 이름에 달러 기호를 허용하지 않으므로x=$1작품 (톰)
다음을 사용하여 테이블 스키마 복사 허용좋아요하위 테이블, 또한 SQL:2003 기능기본값 포함(로드)
추가부여 옵션 포함절 에부여(피터)
이것이 활성화되었습니다부여주다 다른 사용자에게 권한을 부여하는 기능 개체.
추가커밋 중절테이블 생성임시용 테이블(개빈)
이것은 테이블을 삭제하거나 모두 삭제하는 기능을 추가합니다 트랜잭션 커밋 시 삭제된 행입니다.
다음을 사용하여 트랜잭션 외부에 커서를 허용보류 있음(닐)
이전 릴리스에서는 마지막에 커서가 제거되었습니다. 이를 생성한 트랜잭션의 이제 커서를 사용할 수 있습니다. 로 생성됨보류 있음40975_41096
0을 가져옴그리고이동 0이제 아무것도 하지 마세요 (브루스)
이전 릴리스에서는,0을 가져옴나머지 행을 모두 가져왔고이동 0커서의 끝으로 이동했습니다.
원인가져오기그리고이동행 수를 반환하려면 가져오거나 이동했거나 커서의 시작/끝에 있는 경우 0입니다. SQL 표준에 따라(Bruce)
이전 릴리스에서는 다음이 반환한 행 개수가져오기그리고이동숫자를 정확하게 반영하지 않았습니다. 처리된 행 수입니다.
제대로 처리스크롤와 함께 커서 또는 오류 보고(Neil)
무작위 액세스 허용(앞으로 및 뒤로 모두) 스크롤) 일부 종류의 쿼리는 수행할 수 없습니다. 추가적인 작업 없이. 만일스크롤커서가 있을 때 지정됩니다. 이 추가 작업이 수행됩니다. 또한 커서가스크롤 없음, 임의 액세스가 없습니다. 허용됩니다.
SQL 호환 옵션 구현첫 번째, 마지막, 절대n, 상대적nfor가져오기그리고이동(톰)
허용설명켜짐커서 선언(톰)
허용클러스터색인을 사용하려면 기본적으로 사전 클러스터링된 것으로 표시됨(Alvaro Herrera)
허용클러스터모두 클러스터링 테이블(Alvaro Herrera)
이것은 이전에 클러스터된 모든 테이블을 단일 명령으로 데이터베이스를 다시 클러스터링할 수 있습니다.
방지클러스터부분적으로 인덱스(톰)
DOS 및 Mac 라인 엔딩 허용복사파일 (브루스)
데이터 값으로 리터럴 캐리지 리턴을 허용하지 않습니다. 백슬래시-캐리지 리턴 및\r여전히 허용됩니다(브루스)
복사변경사항(바이너리,\.) (톰)
복구 대상복사실패 깔끔하게 (톰)
가능한 메모리 누수 방지복사(톰)
만들다잘라내기트랜잭션 안전(Rod)
잘라내기이제 사용할 수 있습니다 거래 내부. 거래가 중단된 경우, 에 의해 변경된 내용:잘라내기있습니다 자동으로 롤백됩니다.
다음과 같은 유틸리티 명령 준비/바인딩 허용가져오기그리고설명(톰)
추가설명 실행(닐)
개선진공성능 WAL 트래픽을 줄여 색인을 생성합니다(Tom)
기능 색인이 색인으로 일반화되었습니다. 표현에 대해 (Tom)
이전 릴리스에서는 기능 인덱스가 하나 이상의 열 이름에 적용되는 간단한 함수입니다. 이 release는 모든 유형의 스칼라 표현식을 허용합니다.
갖고거래 표시 격리입력 일치SET 거래 격리(톰)
갖고데이터베이스에 대한 의견켜짐 로컬이 아닌 데이터베이스는 경고가 아닌 경고를 생성합니다. 오류(로드)
데이터베이스 설명은 데이터베이스 로컬 테이블에 저장됩니다 따라서 데이터베이스에 대한 설명은 각 데이터베이스에 저장되어야 합니다. 데이터베이스.
신뢰성 향상듣기/알림(톰)
허용REINDEX안정적으로 비공유 시스템 카탈로그 인덱스 재색인화(Tom)
이것은 시스템 테이블이 독립형 세션이 필요했습니다. 이전 릴리스에서는. 이제 재인덱싱을 위한 독립 실행형 세션은 전역 시스템입니다. 테이블pg_database, pg_shadow및pg_group.
새 서버 매개변수extra_float_digits정밀도 제어 부동 소수점 숫자 표시(Pedro Ferreira, 톰)
이것은 원인이 되는 출력 정밀도를 제어합니다. 회귀 테스트 문제.
허용+1300숫자로 FJST(Tom)에 대한 시간대 지정자
자주 사용하지 않는 기능 제거오이랜드, oidsrand및userfntest함수 (닐)
추가md5()기능
메인 서버, 이미 있음contrib/pgcrypto(조)
MD5 기능이 자주 요청되었습니다. 더 알아보기 복잡한 암호화 기능, 사용contrib/pgcrypto.
다음 날짜 범위 증가타임스탬프(존 코크란)
변경추출(EPOCH FROM 타임스탬프)그래서타임스탬프 없음 시간대GMT가 아닌 현지 시간으로 가정됩니다. (톰)
운영 체제의 경우 0으로 나누는 트랩 막지는 않아요(톰)
변경숫자데이터 유형 내부적으로 기본 10000으로(Tom)
신규호스트마스크()함수
(그렉 위컴)
수정 사항to_char()그리고to_timestamp()(카렐)
모든 인수 데이터 유형을 사용할 수 있는 함수 허용 다음을 사용하여 모든 데이터 유형을 반환합니다.모든 요소그리고임의배열(조)
이것은 작동할 수 있는 기능의 생성을 허용합니다 모든 데이터 유형으로 가능합니다.
이제 배열을 다음과 같이 지정할 수 있습니다.배열[1,2,3], ARRAY[['a','b'],['c','d']]또는배열[배열[배열[2]]](조)
다음을 포함하여 배열에 대한 적절한 비교를 허용합니다.주문 기준그리고독특지원 (조)
배열 열에 인덱스 허용(Joe)
다음과 배열 연결 허용||(조)
허용어디자격expr op일부/일부/전체 (array_expr)(조)
이것은 배열이 값 목록처럼 작동하도록 허용합니다. 다음과 같은 목적으로SELECT * FROM 탭 WHERE 열 IN(array_val).
새로운 배열 함수array_append, array_cat, array_lower, array_prepend, array_to_string, array_upper, string_to_array(조)
사용자 정의 집계가 다형성을 사용하도록 허용 함수(조)
빈 배열에 할당 허용 (Joe)
초 필드에 60초 허용시간, 타임스탬프및간격입력 값 (톰)
윤초에는 60초 값이 필요합니다.
허용cidr캐스트할 데이터 유형 에텍스트(톰)
SET TIMEZONE에서 잘못된 시간대 이름을 허용하지 않음
다음의 공백을 잘라내는 경우문자다음으로 전송됨varchar또는텍스트(톰)
만들다부동(p)정밀도 측정p2진수로, 아님 십진수 (톰)
에 IPv6 지원 추가inet그리고cidr데이터 유형(마이클 그라프)
추가가족()기능
주소가 IPv4인지 IPv6인지 보고합니다(Michael
그라프)
갖고날짜 스타일 표시생성 다음에서 사용하는 것과 유사한 출력SET 날짜 스타일(톰)
만들다추출(시간대)그리고시간대 설정/표시다음을 따르세요 시간대 오프셋 표시에 대한 SQL 규칙, 즉 양수는 UTC 기준 동쪽입니다(Tom)
수정date_trunc('분기', ...)(보이테 졸탄)
이전 릴리스에서는 이에 대해 잘못된 값을 반환했습니다. 함수 호출.
만들다initcap()더 보기
Oracle과 호환 가능(Mike Nolan)
initcap()이제 대문자
영숫자가 아닌 문자 뒤에 나타나는 문자,
공백 뒤에만 있는 것이 아닙니다.
만 허용날짜 스타일필드 ISO-8601 형식이 아닌 날짜 값 순서(Greg)
새로 추가날짜 스타일값MDY, DMY및YMD에 입력 필드 순서를 설정합니다. 명예미국그리고유럽인후진용 호환성(톰)
다음과 같은 문자열 리터럴'지금'또는'오늘'더 이상
열 기본값. 다음과 같은 함수를 사용하세요.지금(), 현재_타임스탬프대신. (변경
준비된 진술에 필요함) (Tom)
NaN을 다음의 다른 값보다 크게 처리분()/최대()(톰)
NaN은 이미 일반 숫자 값 다음에 정렬되었습니다.
대부분의 목적에 적합하지만분()그리고최대()이것을 제대로 이해하지 못했습니다.
간격이 억제되지 않도록 방지:00초 표시
새로운 기능pg_get_triggerdef(prettyprint)그리고pg_conversion_is_visible()(크토토 사이트 추천토퍼)
시간을 다음과 같이 지정하도록 허용040506또는0405(톰)
입력 날짜 순서는 지금이어야 합니다.YYYY-MM-DD(4자리 연도 포함) 또는 일치날짜 스타일
만들다pg_get_constraintdef고유한 지원,
기본 키 및 검사 제약 조건(Christopher)
다음 경우에 PL/pgSQL 충돌 방지반환 다음0행 레코드 변수에 사용됨(Tom)
PL/Python을 만드세요spi_execute인터페이스 핸들 null
올바른 가치관(Andrew Bosma)
PL/pgSQL이 복합 유형의 변수를 선언하도록 허용 없이%ROWTYPE(톰)
PL/Python 수정_quote()큰 정수를 처리하는 함수
PL/Python을 신뢰할 수 없는 언어로 만드세요. 이제 호출됩니다.plpythonu(케빈 제이콥스, 톰)
Python 언어는 더 이상 제한된 실행 환경이므로 신뢰할 수 있는 버전 PL/Python이 제거되었습니다. 이 상황이 바뀌면, 슈퍼유저가 아닌 사람도 사용할 수 있는 PL/Python 버전 읽어보겠습니다.
다형성 PL/pgSQL 함수 허용(Joe, Tom)
다형성 SQL 함수 허용 (Joe)
향상된 컴파일된 함수 캐싱 메커니즘 다형성을 완벽하게 지원하는 PL/pgSQL(Joe)
새 매개변수 추가$0에 함수의 실제 반환 유형을 나타내는 PL/pgSQL (조)
PL/Tcl 및 PL/Python이 다음에서 동일한 트리거를 사용하도록 허용합니다. 여러 테이블(Tom)
고정 PL/Tcl'sspi_prepare정규화된 수락
매개변수 유형 목록의 유형 이름(1월)
추가\pset 호출기 항상에 항상 호출기를 사용하세요(Greg)
이것은 호출기의 수가 행이 화면 높이보다 작습니다. 이는 다음과 같은 경우에 유용합니다. 여러 화면 행에 걸쳐 있는 행입니다.
탭 완성 개선(Rod, Ross Reedstrom, Ian 바윅)
재주문\?도와주세요 그룹화(Harald Armin Massa, Bruce)
스키마, 캐스트 및 목록을 나열하기 위한 백슬래시 명령을 추가하세요. 전환수(크토토 사이트 추천토퍼)
\인코딩이제 변경 내용은 다음과 같습니다. 서버 매개변수에서client_encoding(톰)
이전 버전에서는,\인코딩인코딩을 인식하지 못했습니다 다음을 사용하여 변경된 사항세트 클라이언트_인코딩.
편집기 버퍼를 readline 기록에 저장 (Ross)
언제\e을 편집하는 데 사용됩니다. 쿼리 결과는 readline 히스토리에 저장됩니다. 위쪽 화살표를 사용하여 검색하세요.
개선\d디스플레이 (크토토 사이트 추천토퍼)
HTML 모드를 더욱 표준에 부합하도록 강화하세요 (그렉)
신규\자동커밋 끄기 설정능력 (톰)
이것은 제거된 서버 매개변수를 대신합니다.자동 커밋.
신규\자세한 표현 설정통제하다 오류 세부정보(Tom)
이것은 새로운 오류 보고 세부정보를 제어합니다.
새로운 프롬프트 이스케이프 시퀀스%x거래 상태 표시(Tom)
긴 옵션psql이제 모든 플랫폼에서 사용 가능
tar 형식 및 대형을 포함한 여러 pg_dump 수정 객체
pg_dump가 특정 스키마를 덤프하도록 허용(Neil)
pg_dump가 열 저장 특성을 보존하도록 만들기 (크토토 사이트 추천토퍼)
이것은 보존합니다테이블 변경...설정 저장정보.
pg_dump 보존 만들기클러스터특성 (크토토 사이트 추천토퍼)
pg_dumpall 사용그랜트/취소에 데이터베이스 수준 권한 덤프(Tom)
pg_dumpall이 옵션을 지원하도록 허용-a, -s, -xof pg_dump (톰)
지정된 소문자 식별자에서 pg_dump 방지 명령줄에서 (Tom)
pg_dump 옵션--use-set-session-authorization그리고--재연결 없음이제 아무것도 하지 마세요. 모든 덤프 사용세션 설정 승인
pg_dump는 더 이상 사용자 전환에 다시 연결되지 않지만, 대신 항상 사용합니다세션 설정 승인. 이렇게 하면 비밀번호 프롬프트가 줄어듭니다. 복원하는 동안.
긴 옵션pg_dump이제 모든 제품에서 사용할 수 있습니다 플랫폼
포스트그레SQL지금 자체적인 긴 옵션 처리 루틴이 포함되어 있습니다.
기능 추가PQfreememWindows에서 메모리 확보를 위해 제안됨알림(브루스)
Windows에서는 라이브러리에 할당된 메모리가
동일한 라이브러리의 함수에 의해 해제되었으므로무료()다음에서는 작동하지 않습니다
libpq에 의해 할당된 메모리를 해제합니다.PQfreemem자유롭게 하는 올바른 방법입니다
특히 Windows에서는 libpq 메모리가 권장됩니다.
다른 플랫폼에서도 마찬가지입니다.
문서 서비스 기능 및 샘플 파일 추가 (브루스)
클라이언트가 연결 정보를 조회할 수 있도록 합니다. 클라이언트 시스템의 중앙 파일에 있습니다.
만들다PQsetdb로그인가지고 있어요
기본값은과 동일합니다.PQconnectdb(톰)
결과 세트가 너무 많은 경우 libpq가 완전히 실패하도록 허용 크다 (톰)
기능 성능 향상PQunescapeBytea(벤 램)
스레드 안전 libpq 허용구성옵션--스레드 안전성 활성화(리 친절, 필립 야라)
허용 기능pq내부 공지형식을 허용하려면
미리 형식화된 문자열과 인수 대신
메시지(Tom, Sean Chittenden)
다음으로 SSL 협상 제어sslmode값비활성화, 허용, 선호및요구(존 젠슨)
새로운 오류 코드 및 텍스트 수준 허용(Tom)
기본 테이블 및 열에 대한 액세스를 허용합니다. 쿼리 결과(Tom)
이것은 다음과 같은 쿼리 빌더 애플리케이션에 유용합니다. 기본 테이블 및 열 이름을 알고 싶습니다. 특정 결과 집합과 연결됩니다.
현재 거래 상태에 대한 접근 허용 (톰)
바이너리 데이터를 서버에 직접 전달하는 기능 추가 (톰)
기능 추가PQexec준비됨그리고PQsendQuery준비됨기능
이전에 준비된 명령문의 바인드/실행 수행
(톰)
허용setNull켜짐
업데이트 가능한 결과 세트
허용executeBatch에
준비된 진술(배리)
SSL 연결 지원 (Barry)
결과 세트의 스키마 이름 처리(Paul Sorenson)
refcursor 지원 추가(Nic Ferrier)
실행 중 메모리 누수 또는 코어 덤프 가능성을 방지합니다. libpgtcl 종료(톰)
ECPG에 Informix 호환성 추가(마이클)
이를 통해 ECPG는 임베디드 C 프로그램을 처리할 수 있습니다. 특정 Informix 확장을 사용하여 작성되었습니다.
유형 추가십진수ECPG에 대한 것입니다. 고정 길이, Informix용(Michael)
스레드 안전 Embedded SQL 프로그램 허용구성옵션--스레드 안전성 활성화(리 친절, 브루스)
이것은 여러 스레드가 데이터베이스에 액세스할 수 있도록 허용합니다. 동시에.
Python 클라이언트 PyGreSQL을 다음으로 이동했습니다.http://www.pygresql.org(마크)
별도의 플랫폼 지오메트리 회귀가 필요하지 않도록 방지 결과 파일(Tom)
향상된 PPC 잠금 기본 요소(라인하르트 맥스)
새로운 기능palloc0에
메모리 할당 및 지우기(Bruce)
s390x CPU(64비트)에 대한 잠금 코드 수정 (Tom)
OpenBSD가 로컬 ID 자격 증명을 사용하도록 허용합니다(William 아른)
실행자(Tom)에게 쿼리 계획 트리를 읽기 전용으로 만들기
Darwin 시작 스크립트 추가(David Wheeler)
libpq가 Borland C++ 컴파일러로 컴파일하도록 허용 (레스터 고드윈, 칼 워클라윅)
자체 버전 사용getopt_long()필요하다면 (피터)
관리 스크립트를 C(피터)로 변환
Bison = 1.85가 이제 빌드에 필요합니다.PostgreSQL문법, if CVS에서 빌드
문서를 하나의 책으로 병합 (피터)
Windows 호환성 기능 추가(Bruce)
클라이언트 인터페이스가 MinGW에서 컴파일되도록 허용 (브루스)
신규ereport()함수
오류 보고용(Tom)
Linux에서 Intel 컴파일러 지원(Peter)
Linux 시작 스크립트 개선(Slawomir Sudnik, Darko 프레노실)
AMD Opteron 및 Itanium에 대한 지원 추가(Jeffrey W. 베이커, 브루스)
삭제--활성화-리코딩옵션 에서구성
이제 우리는 더 이상 필요하지 않습니다.전환 생성.
스핀록 코드를 찾을 수 없는 경우 컴파일 오류 생성 (브루스)
스핀록 코드가 없는 플랫폼은 이제 실패합니다. 세마포어를 자동으로 사용하는 대신 컴파일합니다. 이 새로운 방법으로 실패를 비활성화할 수 있습니다.구성옵션.
dbmirror 라이센스를 BSD로 변경
지구 거리 향상(Bruno Wolff III)
pgcrypto의 이식성 개선(Marko Kreen)
xml 충돌 방지(John Gray, Michael Richards)
오라클 업데이트
MySQL 업데이트
큐브 업데이트(브루노 울프 III)
큐브를 사용하려면 지구 거리를 업데이트하세요(Bruno Wolff III)
btree_gist 업데이트(Oleg)
새로운 tsearch2 전체 텍스트 검색 모듈(Oleg, 테오도르)
tablefuncs에 해시 기반 크로스탭 기능 추가 (조)
주문에 직렬 열 추가커넥트바이()tablefuncs의 형제자매
(나빌 세이그,조)
dblink에 명명된 영구 연결 추가(Shridhar 다이탄카)
새로운 pg_autovacuum에서 자동 허용진공(매튜 T. 오코너)
pgbench가 환경 변수를 존중하도록 만들기PGHOST, PG포트, PGUSER(타츠오)
인타레이 개선 (Teodor Sigaev)
pgstattuple 개선(Rod)
버그 수정메타폰()fuzzystrmatch에서
adddependent(Rod) 개선
spir/timetravel 업데이트(Böjthe Zoltán)
Dbase 수정-s옵션 및 비ASCII 처리 개선(Thomas Behr, Márcio 스미델레)
이제 기능이 포함되었으므로 어레이 모듈을 제거하십시오. 기본값(조)