출시일: 2001-04-13
이 토토 커뮤니티는 기존의 제한 사항을 제거하는 데 중점을 둡니다. 에서포스트그레SQL많은 사람들을 위한 코드 년.
이번 토토 커뮤니티의 주요 변경 사항:
운영 중 데이터베이스 일관성을 유지하려면 시스템 충돌, 이전 릴리스포스트그레SQL모든 데이터를 강제로 적용했습니다 각 트랜잭션이 커밋되기 전에 디스크를 수정합니다. 와 WAL, 단 하나의 로그 파일만 디스크에 플러시해야 합니다. 성능 향상. -F를 사용한 경우 이전 릴리스에서 디스크 플러시를 비활성화하려면 사용 중단을 고려하십시오.
TOAST - 이전 릴리스에는 컴파일된 행 길이가 있었습니다. 한도는 일반적으로 8k - 32k입니다. 이 제한으로 인해 장기간 저장이 가능해졌습니다. 텍스트 필드가 어렵습니다. TOAST를 사용하면 모든 길이의 긴 행 좋은 성능으로 저장할 수 있습니다.
이제 외부 조인을 지원합니다. UNION/NOT IN 해결 방법 외부 조인의 경우 더 이상 필요하지 않습니다. 우리는 SQL92를 사용합니다 외부 조인 구문.
이전 C 함수 관리자는 null을 처리하지 않았습니다. 값이 제대로 설정되지 않았으며 64비트를 지원하지도 않았습니다.CPU'(알파). 새로운 기능 관리자 그렇습니다. 이전 사용자 정의 기능을 계속 사용할 수 있지만 나중에 새로운 것을 사용하기 위해 다시 작성하고 싶을 수도 있습니다. 함수 관리자 호출 인터페이스.
지원되지 않는 다수의 복잡한 쿼리 이전 릴리스에서는 이제 작동합니다. 다양한 관점의 조합, 집계, UNION, LIMIT, 커서, 하위 쿼리 및 이제 상속된 테이블이 제대로 작동합니다. 상속된 테이블은 다음과 같습니다. 이제 기본적으로 액세스됩니다. FROM의 하위 쿼리는 이제 지원됩니다.
pg_dump를 사용한 덤프/복원은 원하는 사람들에게 필요합니다 이전 릴리스의 데이터를 마이그레이션합니다.
버그 수정 --------- 다수의 멀티바이트/유니코드/로케일 수정(Tatsuo 및 기타) 더욱 안정적인 ALTER TABLE RENAME(Tom) Kerberos V 수정 사항(David Wragg) targetlist에 하위 쿼리가 있는 INSERT INTO...SELECT 문제 수정(Tom) 표준 오류 시 사용자 이름/비밀번호 프롬프트(Bruce) 대형 객체 inv_read/inv_write 수정(Tom) to_char(), to_date(), to_ascii() 및 to_timestamp()에 대한 수정 사항(Karel, 다니엘 발도니) 쿼리 표현식의 메모리 누수 방지(Tom) 배열 요소 업데이트 허용(Tom) 취소 중 웨이크업 잠금 웨이터(히로시) 해시 조인을 사용할 때 드물게 발생하는 커서 충돌 수정(Tom) 롤백된 트랜잭션의 DROP TABLE/INDEX 수정(Hiroshi) MULTIBYTE가 활성화된 경우 \l+에서 psql 충돌 수정(Peter E) CREATE VIEW 중 규칙 이름 잘림 문제 수정(Ross Reedstrom) PL/perl 수정(Alex Kapranoff) 뷰에 대한 LOCK 허용 안 함(Mark Hollomon) 뷰에 대한 INSERT/UPDATE/DELETE 허용 안 함(Mark Hollomon) 뷰에 대한 DROP RULE, CREATE INDEX, TRUNCATE를 허용하지 않음(Mark Hollomon) PL/pgSQL이 비ASCII 식별자를 허용하도록 허용(Tatsuo) 뷰가 GROUP BY, 집계, DISTINCT를 적절하게 처리하도록 허용합니다(Tom). TRUNCATE 명령으로 드문 오류 수정(Tom) UNION/INTERSECT/EXCEPT를 ALL, 하위 쿼리, 뷰와 함께 사용할 수 있도록 허용합니다. DISTINCT, ORDER BY, SELECT...INTO(톰) 중단된 트랜잭션 중 파서 오류 수정(Tom) 임시 관계가 인덱스를 적절하게 정리하도록 허용(Bruce) 같은 페이지에서 행을 이동할 때 발생하는 VACUUM 문제 수정(Tom) template1의 사용자 정의 항목을 더 잘 처리하도록 pg_dump를 수정합니다(Philip) VIEW에서 LIMIT 허용(Tom) LIMIT를 준수하려면 커서 FETCH가 필요합니다(Tom). 상속된 열에 PRIMARY/FOREIGN 키 정의 허용(Stephan) 하위 쿼리에서 ORDER BY, LIMIT 허용(Tom) CREATE RULE에서 UNION 허용(Tom) ALTER/DROP TABLE 롤백 가능하게 만들기(Vadim, Tom) 데이터 정렬을 변경할 수 없도록 initdb 데이터 정렬을 pg_control에 저장합니다. (Tom) 규칙을 사용하여 INSERT...SELECT 수정(Tom) 뷰 및 하위 선택 내부의 FOR UPDATE 수정(Tom) OVERLAPS 연산자가 NULL과 관련된 SQL92 사양을 준수하도록 수정했습니다(Tom). 입력 문자열보다 짧은 길이를 처리하도록 lpad() 및 rpad()를 수정했습니다. (Tom) 일부 규칙에서 NOTIFY 사용 수정(Tom) btree 코드 점검(Tom) Pl/pgSQL 변수에서 NOT NULL 사용 수정(Tom) GIST 코드 정밀검사(Oleg) 제약 조건 및 열 기본값을 유지하도록 CLUSTER 수정(Tom) 교착 상태 감지 처리 개선(Tom) 테이블에 여러 SERIAL 열 허용(Tom) 가끔 발생하는 인덱스 손상 방지(Vadim) 향상된 기능 ------------ OUTER JOIN 추가(Tom) 기능 관리자 점검(Tom) 인덱스에 ALTER TABLE RENAME 허용(Tom) 클러스터 개선(Tom) 더 많은 플랫폼에 대한 ps 상태 표시 개선(Peter E, Marc) CREATE FUNCTION 실패 메시지 개선(Ross) JDBC 개선(Peter, Travis Bauer, Christopher Cain, William Webber, 군나르) 그랜드 통합 구성 방식/GUC. 이제 다양한 옵션을 설정할 수 있습니다. data/postgresql.conf, postmaster/postgres 플래그 또는 SET 명령(Peter E) 파일 설명자 캐시 처리 개선(Tom) 자동 생성된 테이블 별칭 항목에 대한 새로운 경고 코드(Bruce) initdb 프로세스 점검(Tom, Peter E) 상속된 테이블을 정밀 검사합니다. 이제 상속된 테이블은 기본적으로 액세스됩니다. 새로운 ONLY 키워드로 인해 이를 방지할 수 있습니다(Chris Bitmead, Tom). ODBC 정리/개선(Nick Gorham, Stephan Szabo, Zoltan Kovacs, 마이클 포크) 임시 테이블 이름 변경 허용(Tom) 메모리 관리자 컨텍스트 점검(Tom) pg_dumpall은 COPY를 사용하는 대신 CREATE USER 또는 CREATE GROUP을 사용합니다(Peter E) pg_dump 점검(Philip Warner) pg_hba.conf 보조 비밀번호 파일이 사용자 이름만 지정하도록 허용(Peter E) 임시 테이블 생성 시 TEMPORARY 또는 TEMP 키워드 허용(Bruce) 새로운 메모리 누수 검사기(Karel) 새로운 세트 세션 특성(Thomas) 중첩된 블록 주석 허용(Thomas) WITHOUT TIME ZONE 유형 한정자 추가(Thomas) 새로운 ALTER TABLE ADD CONSTRAINT(Stephan) INTEGER 집계에 NUMERIC 누산기 사용(Tom) 집계 코드 정밀 검사(Tom) 새로운 VARIANCE 및 STDDEV() 집계 pg_dump의 종속성 순서 개선(Philip) 새로운 pg_restore 명령(Philip) 새로운 pg_dump tar 출력 옵션(Philip) 대형 객체의 새로운 pg_dump(Philip) LIKE(Thomas)에 대한 새로운 ESCAPE 옵션 대소문자를 구분하지 않는 새로운 LIKE - ILIKE(Thomas) 기능 인덱스가 바이너리 호환 유형을 사용하도록 허용(Tom) 더 많은 컨텍스트에서 SQL 함수를 사용할 수 있도록 허용(Tom) 새로운 pg_config 유틸리티(Peter E) 동적 SQL 및 유틸리티 명령문을 허용하는 새로운 PL/pgSQL EXECUTE 명령 (1월) SPI 값 액세스를 위한 새로운 PL/pgSQL GET DIAGNOSTICS 문(1월) 새로운 quote_identifiers() 및 quote_literal() 함수(1월) 새로운 ALTER TABLE 테이블 OWNER TO 사용자 명령(Mark Hollomon) FROM에서 하위 선택 허용, 즉 FROM (SELECT ...) [AS] 별칭 (Tom) PyGreSQL을 버전 3.1(D'Arcy)로 업데이트 테이블을 OID(Vadim)라는 이름의 파일로 저장 pg_dump에서 사용하기 위한 새로운 SQL 함수 setval(seq,val,bool)(Philip) 뷰를 제거하려면 DROP VIEW가 필요하고 DROP TABLE(표시)은 필요하지 않습니다. DROP VIEW view1, view2 허용(마크) DROP INDEX, DROP RULE 및 DROP TYPE에서 여러 객체 허용(Tom) 유니코드와의 자동 변환 허용(Tatsuo, Eiji) 새로운 /contrib/pgcrypto 해싱 함수(Marko Kreen) 새로운 pg_dumpall --globals-only 옵션(Peter E) 새로운 WAL 로그 파일을 생성하는 WAL용 새로운 CHECKPOINT 명령(Vadim) 새로운 AT TIME ZONE 구문(Thomas) Unix 도메인 소켓의 위치를 구성할 수 있도록 허용(David J. MacKenzie) 포스트마스터가 특정 IP 주소를 수신하도록 허용(David J. MacKenzie) 선행 슬래시를 사용하여 호스트 이름에 소켓 경로 이름을 지정할 수 있도록 허용 (데이비드 J. 맥켄지) CREATE DATABASE가 템플릿 데이터베이스를 지정하도록 허용(Tom) MySQL 스키마 덤프를 SQL92 및 PostgreSQL로 변환하는 새로운 유틸리티(Thomas) 새로운 /contrib/rserv 복제 도구 키트(Vadim) COPY BINARY의 새로운 파일 형식(Tom) 숫자 파일을 테이블 이름에 매핑하는 새로운 /contrib/oid2name(B Palmer) 새로운 "idle in transaction" ps 상태 메시지(Marc) pgaccess 0.98.7로 업데이트(Constantin Teodorescu) pg_ctl은 이제 종료 시 기본적으로 -w(대기)로 설정되며, 새로운 -l(로그) 옵션이 추가되었습니다. pg_dump에 기본적인 종속성 검사 추가(Philip) 유형 ----- INET/CIDR 유형 순서 수정 및 새 기능 추가(Tom) OID가 부호 없는 유형으로 동작하도록 만들기(Tom) BIGINT를 INT8(Peter E)의 동의어로 허용 새로운 int2 및 int8 비교 연산자(Tom) 새로운 BIT 및 BIT VARYING 유형(Adriaan Joubert, Tom, Peter E) TOAST로 인해 CHAR()가 더 이상 VARCHAR()보다 빠르지 않습니다(Tom). 새로운 GIST 세그먼트/큐브 예제(Gene Selkov) 향상된 라운드(숫자) 처리(Tom) CIDR 출력 형식 수정(Tom) 새로운 CIDR abbrev() 함수(Tom) 성능 ----------- 더 낮은 성능으로 충돌 복구를 제공하는 WAL(Write-Ahead Log) 오버헤드 (바딤) VACUUM의 ANALYZE 단계는 더 이상 테이블을 독점적으로 잠그지 않습니다(Bruce). 파일 검색 감소(Denis Perchine) 중복 키에 대한 BTREE 코드 개선(Tom) 모든 대형 개체를 단일 테이블에 저장(Denis Perchine, Tom) 메모리 할당 성능 향상(Karel, Tom) 소스 코드 ----------- 새로운 기능 관리자 호출 규칙(Tom) SGI 이식성 수정(David Kaelbling) 새로운 구성 --enable-syslog 옵션(Peter E) 새로운 BSDI README(브루스) 구성 스크립트가 /src가 아닌 최상위 수준으로 이동되었습니다(Peter E). Makefile/구성/컴파일 점검(Peter E) 새로운 구성 --with-python 옵션(Peter E) Solaris 정리(Peter E) 정밀 검사 /contrib Makefile(Karel) 새로운 OpenSSL 구성 옵션(Magnus, Peter E) AIX 수정사항(Andreas) QNX 수정 사항(Maurizio) 새로운 heap_open(), heap_openr() API(Tom) 콜론 및 세미콜론 연산자 제거(Thomas) 뷰에 대한 새로운 pg_class.relkind 값(Mark Hollomon) ichar()의 이름을 chr()로 바꿉니다(Karel). btrim(), ascii(), chr(),peat()에 대한 새 문서(Karel) NT/Cygwin 수정(Pete Forman) AIX 포트 수정(Andreas) 새로운 BeOS 포트(David Reid, Cyril Velter) 문서에 교정자의 변경 사항 추가(Addison-Wesley, Bruce) 새로운 Alpha 스핀록 코드(Adriaan Joubert, Compaq) UnixWare 포트 점검(Peter E) 새로운 Darwin/MacOS X 포트(Peter Bierman, Bruce Hartzler) 새로운 FreeBSD Alpha 포트(Alfred) 공유 메모리 세그먼트 점검(Tom) IBM S/390 지원 추가(Neale Ferguson) macmanuf를 /contrib로 옮겼습니다(Larry Rosenman). Syslog 개선(Larry Rosenman) 사용자 추가가 포함되지 않은 새 template0 데이터베이스(Tom) 새로운 /contrib/cube 및 /contrib/seg GIST 샘플 코드(Gene Selkov) readline 대신 NetBSD의 libedit 허용(Peter) 향상된 어셈블리 언어 소스 코드 형식(Bruce) 새로운 기여/pg_logger Createdb에 대한 새로운 --template 옵션 새로운 contrib/pg_control 유틸리티(Oliver) 새로운 FreeBSD 도구 ipc_check, start-scripts/freebsd