이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

E.72. 릴리스 8.4

출시일: 2009-07-01

E.72.1. 개요

수년간의 개발 끝에,포스트그레SQL다음에서 기능이 완성되었습니다. 많은 지역. 이 릴리스에서는 추가에 대한 타겟 접근 방식을 보여줍니다. 기능(예: 인증, 모니터링, 공간 재사용) 이후 SQL 표준에 정의된 기능을 추가합니다. 전공 개선 영역은 다음과 같습니다.

  • 창 기능

  • 공통 테이블 표현식 및 재귀 쿼리

  • 함수에 대한 기본 및 가변 매개변수

  • 병렬 복원

  • 열 권한

  • 데이터베이스별 로케일 설정

  • 향상된 해시 인덱스

  • 향상된 조인 성능존재함그리고아님 존재함쿼리

  • 젠 토토하기 쉬운 웜 스탠바이

  • 여유 공간 맵의 자동 크기 조정

  • 가시성 맵(다음에 대한 진공 오버헤드를 크게 줄입니다. 천천히 변화하는 테이블)

  • 버전 인식 psql(백슬래시 명령은 이전 서버)

  • 젠 토토자 인증을 위한 SSL 인증서 지원

  • 함수별 런타임 통계

  • psql에서 함수를 쉽게 편집

  • 새로운 기여 모듈: pg_stat_statements, auto_explain, citext, btree_gin

위 항목은 해당 섹션에서 더 자세히 설명됩니다. 아래에.

E.72.2. 버전 8.4로 마이그레이션

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

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

E.72.2.1. 일반적인

  • 기본적으로 64비트 정수 날짜/시간을 젠 토토합니다(Neil 콘웨이)

    이전에는 다음에 의해 선택되었습니다.구성--활성화-정수-날짜 시간옵션. 에게 이전 동작을 유지하고 다음으로 빌드하세요.--비활성화-정수-날짜 시간.

  • 제거ipcclean유틸리티 명령 (브루스)

    이 유틸리티는 일부 플랫폼에서만 작동했습니다. 젠 토토자 대신 운영 체제 도구를 젠 토토해야 합니다.

E.72.2.2. 서버 설정

  • 기본 설정 변경log_min_messages경고(이전에는 그랬습니다.공지)을 젠 토토하여 로그 파일 볼륨 줄이기 (남자 이름)

  • 기본 설정 변경max_prepared_transactions0으로 (이전에는 5였습니다) (Tom)

  • 만들다debug_print_parse, debug_print_rewritedebug_print_plan출력이 나타납니다. 에로그메시지 수준이 아님디버그1이전과 같이 (톰)

  • 만들다debug_pretty_print기본값은켜짐(톰)

  • 삭제explain_pretty_print매개변수(더 이상 필요하지 않음) (Tom)

  • 만들다log_temp_files설정 가능 다른 로깅 옵션과 마찬가지로 수퍼유저만 가능합니다(Simon 리그스)

  • 다음 경우에 에포크 타임스탬프의 자동 추가를 제거합니다. 아니요%이스케이프가 다음에 존재합니다.log_filename(로버트 하스)

    이 변경은 일부 젠 토토자가 수정을 원했기 때문에 이루어졌습니다. 로그 파일 이름(외부 로그 회전에 사용) 도구.

  • 삭제log_restartpoints에서recovery.conf; 대신에 젠 토토하세요log_checkpoints(사이먼)

  • 삭제krb_realm그리고krb_server_hostname; 이것들은 이제 설정되었습니다pg_hba.conf대신 (매그너스)

  • 다음에도 중요한 변화가 있습니다.pg_hba.conf, 아래 설명대로.

E.72.2.3. 쿼리

  • 변경잘라내기그리고잠금다음의 하위 테이블에 적용 지정된 테이블(피터)

    이제 이 명령은 다음을 허용합니다.하위 처리를 방지하는 옵션 테이블; 이전 동작이 다음과 같은 경우 이 옵션을 사용해야 합니다. 필요합니다.

  • 특정 선택그리고유니언/교차/제외더 이상 항상 정렬된 출력을 생성하지 않습니다(Tom)

    이전에는 이러한 유형의 쿼리가 항상 제거되었습니다. 정렬/고유 처리를 통해 행을 복제합니다(예: 정렬한 다음 인접한 중복 항목을 제거합니다.) 이제 그들은 할 수 있다 해싱으로 구현되며 정렬된 결과가 생성되지 않습니다. 산출. 애플리케이션이 현재 출력에 의존하는 경우 정렬된 순서로, 권장되는 수정 사항은 다음을 추가하는 것입니다.주문 기준절. 단기적으로는 해결 방법을 사용하면 이전 동작을 복원할 수 있습니다. 비활성화 중enable_hashagg하지만 이는 성능 비용이 매우 많이 드는 수정입니다.선택 구별 ON절대로 해싱을 사용하지 않습니다. 그러나 동작은 변경되지 않습니다.

  • 하위 테이블을 강제로 상속확인부모의 제약(Alex 헌세이커, 니힐 손타케, 톰)

    이전에는 이러한 제약 조건을 삭제하는 것이 가능했습니다. 하위 테이블에서 다음을 위반하는 행을 허용합니다. 상위 테이블을 스캔할 때 제약 조건이 표시됩니다. 이는 일관성이 없고 SQL에도 위배되는 것으로 간주되었습니다. 기준.

  • 부정 금지한도또는오프셋값이 아닌 0으로 취급 (Simon)

  • 허용하지 않음락 테이블외부 거래 블록(Tom)

    이러한 작업은 잠금이 해제되므로 쓸모가 없습니다. 즉시 석방됩니다.

  • 이제 시퀀스에는 추가 항목이 포함됩니다.시작_값열(졸탄 보스조르메니)

    이것은 지원합니다순서 변경... 다시 시작.

E.72.2.4. 함수 및 연산자

  • 만들다숫자0을 a로 올렸습니다. 분수 거듭제곱 반환0, 오류를 발생시키는 대신 make숫자0을 0 전력 반환으로 올림1, 오류가 아닌 (브루스)

    오래된 것과 일치합니다float8행동.

  • 부동 소수점 값의 단항 빼기 생성 허용 마이너스 제로 (톰)

    변경된 동작이 더 많습니다.IEEE-표준을 준수합니다.

  • 이스케이프 문자가 마지막이면 오류 발생 a의 문자좋아요패턴 (즉, 탈출할 것이 없습니다) (Tom)

    이전에는 이러한 이스케이프 문자가 자동으로 사용되었습니다. 무시되므로 애플리케이션 논리가 마스킹될 수 있음 오류.

  • 삭제~=~그리고~<~이전에 사용된 연산자좋아요색인 비교(Tom)

    이제 패턴 색인은 일반 동등성을 젠 토토합니다. 연산자.

  • xpath()이제 통과했습니다 에 대한 인수libxml변경 없이 (앤드류)

    이것은 XML 인수가 올바른 형식이어야 함을 의미합니다. XML 문서. 이전 코딩에서는 XML을 허용하려고 시도했습니다. 단편화되었지만 제대로 작동하지 않았습니다.

  • 만들다xmlelement()형식 콘텐츠 값과 같은 속성 값(Peter)

    이전에는 속성 값의 형식이 다음과 같았습니다. 때로는 일반적인 SQL 출력 동작으로 전환됩니다. XML 규칙과 확률이 다릅니다.

  • 다음에 대한 메모리 관리 재작성libxml-함수 사용하기(톰)

    이 변경으로 인해 일부 호환성 문제가 발생하지 않습니다. 를 사용하여libxml에 PL/Perl 및 기타 추가 기능 코드.

  • 해시 함수에 대해 더 빠른 알고리즘을 채택합니다(Kenneth Marshall, Bob Jenkins의 작업을 기반으로 함)

    이제 내장된 많은 해시 함수가 다음을 제공합니다. 리틀엔디안과 빅엔디안의 결과가 다릅니다. 플랫폼.

E.72.2.4.1. 시간적 기능 및 운영자

  • 날짜 스타일더 이상은 아닙니다 통제 수단간격출력 서식 지정; 대신에 새로운 변수가 있습니다간격 스타일(론 메이어)

  • 분수 처리의 일관성 향상 초 후타임스탬프그리고간격출력(론 메이어)

    이로 인해 다른 숫자가 표시될 수 있습니다. 이전보다 소수 자릿수 또는 반올림 대신 잘립니다.

  • 만들다to_char()의 현지화된 월/일 이름은 다음에 따라 다릅니다.LC_TIME, 아님LC_MESSAGES(오일러 타베이라 데 올리베이라)

  • 원인to_date()그리고to_timestamp()더 보기 잘못된 입력에 대한 오류를 지속적으로 보고합니다(Brendan 주르드)

    이전 버전에서는 종종 무시하거나 조용히 있었습니다. 형식 문자열과 일치하지 않는 입력을 잘못 읽었습니다. 이러한 경우 이제 오류가 발생합니다.

  • 수정to_timestamp()에 자오선에 대한 대문자/소문자 일치가 필요하지 않습니다. (오전/오후) 및 시대(BC/AD) 형식 지정 (Brendan Jurd)

    예: 입력 값광고이제 형식 문자열과 일치합니다.AD.

E.72.3. 변경사항

아래에서 변경사항에 대한 자세한 설명을 찾을 수 있습니다. 사이포스트그레SQL8.4 그리고 이전 주요 릴리스입니다.

E.72.3.1. 성능

  • 옵티마이저 통계 계산 개선(1월 우르반스키, 톰)

    특히 전체 텍스트 검색에 대한 추정치는 연산자가 크게 향상되었습니다.

  • 허용특정 선택그리고유니온/INTERSECT/제외해싱을 젠 토토하려면 (Tom)

    즉, 이러한 유형의 쿼리는 더 이상 자동으로 정렬된 출력을 생성합니다.

  • 세미 조인과 안티 조인의 명시적인 개념 생성 (남자 이름)

    이 작업은 우리의 이전 임시 처리를 공식화합니다.IN (선택 ...)절 및 다음으로 확장합니다.존재함그리고존재하지 않음절. 그래야 한다 결과적으로 훨씬 더 나은 계획을 세울 수 있습니다.존재함그리고아님 존재함쿼리. 일반적으로 논리적으로 동일합니다.IN그리고존재함절은 이제 유사해야 합니다. 성능, 반면 이전에는IN종종 승리했습니다.

  • 외부 아래 하위 선택 최적화 개선 조인(톰)

    이전에는 하위 선택 또는 보기를 최적화할 수 없었습니다. nullable 측면에 나타나면 매우 좋습니다. 외부 조인이며 엄격하지 않은 표현식이 포함되어 있습니다(예: 인스턴스, 상수)를 결과 목록에 표시합니다.

  • 성능 향상text_position()및 관련 기능 Boyer-Moore-Horspool 검색을 젠 토토하여(David 롤리)

    이것은 긴 검색에 특히 유용합니다. 패턴.

  • 통계 수집 쓰기의 I/O 부하 감소 요청이 있을 때만 파일을 작성하여 파일을 작성합니다(Martin 피흘락)

  • 대량 삽입 성능 향상(Robert Haas, 사이먼)

  • 기본값 증가default_statistics_targetfrom10100(그렉 사비노 멀레인, 톰)

    최대값도 다음에서 증가했습니다.100010000.

  • 수행constraint_exclusion상속과 관련된 쿼리에서 기본적으로 확인 또는유니온 올(톰)

    새로운constraint_exclusion설정,파티션에 추가되었습니다. 이 동작을 지정합니다.

  • 비트맵 인덱스 스캔을 위한 I/O 미리 읽기 허용(Greg 뚜렷한)

    미리 읽기의 양은 다음에 의해 제어됩니다.효과적인_io_concurrency. 이 기능은 커널에 다음이 있는 경우에만 사용 가능posix_fadvise()지원합니다.

  • 인라인 단순 집합 반환SQL함수발신절(리처드 로웰)

  • 다음을 통해 다중 배치 해시 조인 성능을 향상시킵니다. 다음과 같은 조인 키 값에 대한 특별한 경우를 제공합니다. 특히 외부관계에서 흔히 볼 수 있다(Bryce Cutt, 라몬 로렌스)

  • 다중 배치 해시에서 임시 데이터 볼륨 감소 억제하여 조인"물리적 목록"최적화(마이클 헨더슨, 라몬 로렌스)

  • 동안 유휴 트랜잭션 세션을 기다리지 마십시오.동시에 인덱스 생성(사이먼)

  • 공유 캐시 무효화 성능 향상 (남자 이름)

E.72.3.2. 섬기는 사람

E.72.3.2.1. 설정

  • 여러 개 변환postgresql.conf열거할 설정 그렇게 되도록 가치를 부여함pg_settings할 수 있다 유효한 값을 표시합니다(Magnus)

  • 추가cursor_tuple_fraction커서 행의 비율을 제어하는 ​​매개변수 플래너가 가져올 것이라고 가정하는 것(로버트 지옥)

  • 젠 토토자 정의 변수 이름에 밑줄 허용 수업postgresql.conf(톰)

E.72.3.2.2. 인증 및 보안

  • (안전하지 않음)에 대한 지원 제거암호인증 방법(Magnus)

    이것은 사실상 이전-을 쓸모 없게 만듭니다.PostgreSQL7.2 클라이언트 라이브러리, 더 이상 일반 텍스트가 아닌 비밀번호 방법이 없기 때문에 젠 토토할 수 있습니다.

  • 정규식 지원pg_ident.conf(매그너스)

  • 허용케르베로스/GSSAPI변경할 매개변수 포스트마스터를 다시 시작하지 않고(Magnus)

  • 지원SSL서버 인증서 파일의 인증서 체인(앤드류 기어스)

    전체 인증서 체인을 포함하면 클라이언트는 인증서 없이도 인증서를 확인할 수 있습니다. 로컬에 있는 모든 중간 CA 인증서 상업용 CA의 경우가 많습니다.

  • 다음 조합에 대한 적절한 오류 메시지 보고MD5인증 및db_user_namespace활성화됨 (브루스)

E.72.3.2.3.pg_hba.conf

  • 사용할 모든 인증 옵션 변경이름=값구문(매그너스)

    이로 인해 호환되지 않는 변경이 발생합니다.ldap, 그리고ident인증 방법. 모두pg_hba.conf다음 항목 이러한 메서드는 새로운 메서드를 사용하여 다시 작성해야 합니다. 체재.

  • 삭제동일한 젠 토토자옵션, 그렇지 않은 경우 대신 해당 동작을 기본값으로 설정 젠 토토자 맵이 지정되었습니다(Magnus)

  • 모든 외부에 대해 젠 토토자 맵 매개변수 허용 인증 방법(Magnus)

    이전에는 젠 토토자 맵이 다음에서만 지원되었습니다.ident인증.

  • 추가클라이언트인증서옵션 클라이언트 인증서 요청 제어(Magnus)

    이전에는 이것은 서버 데이터의 루트 인증서 파일 예배 규칙서.

  • 추가인증서인증 허용하는 방법젠 토토자인증 방법SSL인증서 (매그너스)

    이전SSL인증서는 클라이언트가 젠 토토자를 인증하지 않고 인증서에 액세스합니다.

  • 허용krb5, gssapi그리고sspi영역 및krb5호스트 설정 에 지정됩니다.pg_hba.conf(매그너스)

    이것들은 다음의 설정을 무시합니다postgresql.conf.

  • 추가include_realm매개변수 을 위한krb5, gssapisspi메서드(매그너스)

    이것은 다른 젠 토토자의 동일한 젠 토토자 이름을 허용합니다. 다른 데이터베이스 젠 토토자로 인증할 영역 젠 토토자 맵을 사용합니다.

  • 분석pg_hba.conf완전히 로드되면 오류가 보고됩니다. 즉시 (매그너스)

    이전에는 파일의 대부분의 오류가 클라이언트가 연결을 시도할 때까지 감지되었으므로 잘못된 파일로 인해 시스템을 사용할 수 없게 될 수 있습니다. 와 함께 다시 로드하는 동안 오류가 감지되는 경우 새로운 동작 그런 다음 잘못된 파일은 거부되고 포스트마스터는 이전 사본을 계속 사용합니다.

  • 모든 구문 분석 오류 표시pg_hba.conf다음 이후에 중단하는 대신 첫 번째 (Selena Deckelmann)

  • 지원identUnix 도메인 소켓을 통한 인증 켜짐솔라리스(개릭 햄린)

E.72.3.2.4. 지속적인 아카이빙

  • 다음 옵션을 제공하세요pg_start_backup()강제적으로 가능한 한 빨리 완료하기 위한 암시적 체크포인트 (남자 이름)

    기본 동작은 과도한 I/O 소비를 방지합니다. 그러나 동시 쿼리 활동이 없으면 그것은 의미가 없습니다. 진행되고 있습니다.

  • 만들다pg_stop_backup()수정을 기다림WAL보관할 파일 (사이먼)

    이는 해당 시점에 백업이 유효함을 보장합니다.pg_stop_backup()완료합니다.

  • 보관이 활성화되면 마지막 WAL을 회전합니다. 종료 시 세그먼트를 분할하여 모든 트랜잭션이 가능하도록 합니다. 즉시 보관됨(Guillaume Smet, Heikki)

  • 지연"똑똑하다"종료 지속적인 아카이빙 베이스 백업이 진행되는 동안 (로렌츠 알베)

  • 다음의 경우 연속 아카이브 기본 백업을 취소하세요."빠르게"종료가 요청되었습니다 (로렌츠 알베)

  • 허용recovery.conf동일한 범위의 문자열을 사용하는 부울 변수 값은 다음과 같습니다.postgresql.conf부울 변수(브루스)

E.72.3.2.5. 모니터링

  • 추가pg_conf_load_time()보고할 시기 그만큼포스트그레SQL구성 파일이 마지막으로 로드되었습니다(조지 Gensure)

  • 추가pg_terminate_backend()안전하게 백엔드 종료(SIGTERM신호도 작동함) (Tom, 브루스)

    항상 가능했지만SIGTERM단일 백엔드, 이것은 이전에는 지원되지 않는 것으로 간주되었습니다. 그리고 테스트 사례에서 현재 수정된 일부 버그가 발견되었습니다.

  • 젠 토토자 정의 함수 호출을 추적하는 기능 추가 카운트 및 런타임(Martin Pihlak)

    함수 통계가 새로운 시스템 보기에 나타납니다.pg_stat_user_functions. 추적은 새 매개변수에 의해 제어됩니다.트랙_기능.

  • 최대 쿼리 문자열 크기 지정 허용 안에pg_stat_activity새로 경유track_activity_query_size매개변수(토마스 리)

  • 다음으로 보내는 최대 줄 길이를 늘립니다.syslog, 희망을 갖고 성능 향상(Tom)

  • 읽기 전용 구성 변수 추가세그먼트_크기, wal_block_sizewal_segment_size(베른트 헬믈레)

  • 교착상태를 보고할 때 모든 내용을 보고하십시오. 서버 로그 교착 상태와 관련된 쿼리 (이타가키 다카히로)

  • 추가pg_stat_get_activity(pid)기능 특정 프로세스 ID에 대한 정보를 반환합니다. (매그너스)

  • 서버의 통계 파일 위치를 허용합니다 다음을 통해 지정됨stats_temp_directory(매그너스)

    이것은 통계 파일이 다음 위치에 위치하도록 허용합니다.-주민 I/O 요구 사항을 줄이기 위한 디렉터리입니다. ~에 시작/종료 시 파일이 기존 폴더에 복사됩니다. 위치 ($PGDATA/글로벌/) 그래서 다시 시작해도 보존됩니다.

E.72.3.3. 쿼리

  • 지원 추가함수 (하라다 히토시)

  • 다음에 대한 지원 추가함께절 (CTE) 포함재귀적 젠 토토(아사바 요시유키, 이시이 타츠오, 톰)

  • 추가명령 (피터)

    테이블 테이블 이름SQL입니다 의 표준 약어SELECT * FROM 테이블 이름.

  • 허용AS다음 경우에는 선택사항입니다. a 지정선택(또는돌아오는 중) 열 출력 레이블 (사이토 히로시)

    이것은 열 레이블이 없는 한 작동합니다.PostgreSQL키워드; 그렇지 않으면AS아직입니다 필요합니다.

  • 다음에서 설정 반환 기능 지원선택함수에 대한 결과 목록도 있습니다. Tuplestore를 통해 결과를 반환합니다(Tom)

    특히 이는 다음으로 작성된 함수를 의미합니다. 이제 PL/pgSQL 및 기타 PL 언어를 이렇게 부를 수 있습니다. 방법.

  • 다음의 출력에서 ​​설정 반환 기능 지원 집계 및 그룹화 쿼리(Tom)

  • 허용선택 대상 업데이트/공유작업 중 상속 트리(Tom)

  • 인프라 추가SQL/MED(마틴 피흘락, 피터)

    리모컨이나 외부가 없습니다SQL/MED아직 기능이 있지만 이것은 변화를 통해 표준화되고 미래 지향적인 시스템 제공 다음과 같은 모듈의 연결 정보를 관리하는 데 사용됩니다.dlink그리고plproxy.

  • 스키마를 참조할 때 캐시된 계획을 무효화합니다. 함수, 연산자 또는 연산자 클래스가 수정되었습니다. (마틴 피흘락, 톰)

    이것은 시스템의 응답 능력을 향상시킵니다. 즉석 DDL 변경.

  • 복합 유형 비교 허용 및 배열 허용 익명 복합 유형(Tom)

    이것은 다음과 같은 구성을 허용합니다row(1, 1.1) = 모든 (배열[row(7, 7.7), row(1, 1.0)]). 이는 재귀적인 경우에 특히 유용합니다. 쿼리.

  • 유니코드 문자열 리터럴 및 식별자에 대한 지원 추가 코드 포인트를 사용한 사양, 예:U&'d\0061t\+000061'(피터)

  • 거부\000문자열에서 리터럴 및복사데이터 (톰)

    이전에는 이것이 승인되었지만 다음과 같은 효과가 있었습니다. 문자열 내용을 종료합니다.

  • 오류 위치를 보고하는 파서의 능력을 향상시키세요 (남자 이름)

    이제 많은 의미에 대해 오류 위치가 보고됩니다. 이전에 일치하지 않는 데이터 유형과 같은 오류 현지화할 수 없습니다.

E.72.3.3.1.잘라내기

  • 지원문 수준켜짐 자르기트리거(사이먼)

  • 추가다시 시작/계속 ID옵션TRUNCATE TABLE(졸탄 보조르메니)

    시퀀스의 시작 값은 다음에 의해 변경될 수 있습니다.다음으로 시퀀스 변경.

  • 허용TRUNCATE tab1, tab1성공하려면 (브루스)

  • 별도 추가잘라내기허가(로버트 하스)

E.72.3.3.2.설명

  • 만들다상세하게 설명표시 각 계획 노드의 출력 열(Tom)

    이전상세하게 설명쿼리 계획의 내부 표현을 출력합니다. (해당 동작은 이제 다음을 통해 사용할 수 있습니다.debug_print_plan.)

  • 만들다설명식별하다 개별 라벨이 있는 하위 계획 및 초기화 계획(Tom)

  • 만들다설명명예debug_print_plan(톰)

  • 허용설명켜짐다음으로 테이블 생성(피터)

E.72.3.3.3.제한/오프셋

  • 다음에서 하위 선택 허용제한그리고오프셋(톰)

  • 추가SQL-표준 에 대한 구문제한/오프셋능력 (피터)

    즉,오프셋 번호 ROW|ROWS 가져오기 FIRST|NEXT [숫자] ROW|ROWS개만.

E.72.3.4. 객체 조작

  • 열 수준 권한에 대한 지원 추가(스티븐 프로스트, 카이가이 코헤이)

  • 다중 객체 리팩터링드롭필요성을 줄이기 위한 작업캐스케이드(알렉스 헌세이커)

    예를 들어 테이블인 경우B이 있습니다 테이블에 대한 의존성A, 명령드롭 테이블 A, B아니요 더 이상 필요합니다캐스케이드옵션.

  • 동시 관련 다양한 문제 해결드롭잠금이 이루어졌는지 확인하여 명령을 내립니다. 객체의 종속성을 삭제하기 전에 취함 (남자 이름)

  • 중 종속성 보고 개선드롭명령(톰)

  • 추가[아니요] 데이터 포함다음으로 테이블 생성, 당SQL표준 (피터, 남자 이름)

  • 젠 토토자 정의 I/O 변환 캐스트에 대한 지원 추가 (헤이키)

  • 허용집합 생성젠 토토하다 an내부전환 데이터 유형 (남자 이름)

  • 추가좋아요유형 생성(톰)

    이것은 다음을 사용하는 데이터 유형의 생성을 단순화합니다. 기존 유형과 동일한 내부 표현입니다.

  • 유형 카테고리 지정을 허용하고"선호"상태 젠 토토자 정의 기본 유형(Tom)

    이를 통해 다음의 강제 동작을 더 효과적으로 제어할 수 있습니다. 젠 토토자 정의 유형.

  • 허용보기 생성 또는 교체뷰 끝에 열을 추가하려면 (Robert Haas)

E.72.3.4.1.변경

  • 추가변경 유형 이름 변경(페트르 옐리네크)

  • 추가순서 변경... 다시 시작(매개변수 없음)으로 시퀀스를 재설정합니다. 초기값(Zoltan Boszormenyi)

  • 수정테이블 변경테이블에 대한 모든 합리적인 조합을 허용하는 구문, 인덱스, 시퀀스 및 뷰(Tom)

    이 변경으로 인해 다음과 같은 새로운 구문이 허용됩니다:

    • 시퀀스 소유자 변경 에게

    • 변경 보기 변경 열 기본값 설정/삭제

    • 다음 소유자 보기 변경

    • 변경 보기 설정 개요

    여기에는 실제 새로운 기능은 없지만, 예전에는 이렇게 말해야 했어요변경 테이블이러한 일을 하는 것은 혼란스럽습니다.

  • 구문 지원 추가변경 테이블 ... 열 변경 ... 데이터 유형 설정(피터)

    이것은SQL-표준 구문 이미 지원되는 기능입니다.

  • 만들다없이 테이블 설정 변경 OIDS물리적으로 제거하기 위해 테이블을 다시 작성OID값 (톰)

    또한 추가다음으로 테이블 설정 변경 OIDS추가할 테이블을 다시 작성하려면OIDs.

E.72.3.4.2. 데이터베이스 조작

  • 보고 개선생성/드롭/이름 변경 데이터 베이스커밋되지 않은 준비 실패 거래가 원인입니다 (톰)

  • 만들다LC_COLLATE그리고LC_CTYPE데이터베이스별로 설정(Radek Strnad, Heikki)

    이것은 대조를 인코딩과 유사하게 만듭니다. 항상 데이터베이스별로 구성 가능합니다.

  • 향상된 데이터베이스 인코딩, 데이터 정렬 확인 (LC_COLLATE) 및 문자 수업(LC_CTYPE) 일치 (헤이키, 톰)

    특히 새 데이터베이스의 인코딩에 유의하세요. 및 로케일 설정은 복사할 때만 변경할 수 있습니다. 에서템플릿0. 이는 방지합니다 일치하지 않는 데이터를 복사할 가능성이 있습니다. 설정.

  • 추가데이터베이스 세트 변경 테이블스페이스데이터베이스를 새 테이블스페이스로 이동하려면 (기욤 르라지, 베른트 헬믈레)

E.72.3.5. 유틸리티 운영

  • 추가상세옵션을클러스터명령 및클러스터DB(짐 콕스)

  • 녹화를 위한 메모리 요구 사항 감소 보류 중 이벤트 트리거(Tom)

E.72.3.5.1. 인덱스

  • 건축 속도를 획기적으로 향상시키고 해시 인덱스 액세스(Tom Raney, Shreya Bhargava)

    이를 통해 해시 인덱스가 때때로 다음보다 빨라질 수 있습니다. btree 인덱스. 그러나 해시 인덱스는 아직 충돌로부터 안전합니다.

  • 해시 색인에 해시 코드만 저장하고 인덱싱된 열의 전체 값(Xiao Meng)

    이것은 다음의 해시 인덱스 크기를 크게 줄입니다. 긴 색인 값으로 인해 성능이 향상됩니다.

  • GIN 색인에 대한 빠른 업데이트 옵션 구현 (테오도르, 올렉)

    이 옵션은 작은 업데이트 속도를 크게 향상시킵니다. 검색 속도가 저하됩니다.

  • xxx_pattern_ops색인은 이제 간단한 동등 비교에 젠 토토될 뿐만 아니라 을 위한좋아요(톰)

E.72.3.5.2. 전체 텍스트 색인

  • 사용 요구사항 제거@@@할 때전체 텍스트에 대한 가중치 조회 인덱스(Tom, Teodor)

    보통@@텍스트 검색 대신 연산자를 젠 토토할 수 있습니다.

  • 에 대한 최적화 선택 기능 추가@@텍스트 검색 작업(1월 우르반스키)

  • 전체 텍스트 검색에서 접두어 일치 허용(Teodor 시가예프, 올렉 바르투노프)

  • 다중 열 지원색인(테오도르 시가예프)

  • 네팔어 및 데바나가리어에 대한 지원 개선 알파벳(테오도르)

E.72.3.5.3.진공

  • 별도의 관계별로 여유 공간 추적"포크"파일 (헤이키)

    다음이 발견한 여유 공간진공현재 기록됨*_fsm파일이 아닌 고정된 크기의 공유 메모리 영역. 그만큼max_fsm_pages그리고max_fsm_relations설정이 완료되었습니다. 제거되어 무료 관리가 크게 단순화되었습니다. 공간 관리.

  • 표시되지 않은 페이지를 추적하려면 가시성 지도를 추가하세요. 진공 청소가 필요함(Heikki)

    이렇게 하면진공피하다 테이블의 일부만 스캔할 때 테이블 전체를 스캔합니다. 테이블 청소가 필요합니다. 가시성 지도는 다음 위치에 저장됩니다. 관계별"포크"파일.

  • 추가vacuum_freeze_table_age언제 제어할 매개변수진공가시성 지도를 무시해야 합니다 전체 테이블 스캔을 수행하여 튜플을 고정합니다(Heikki)

  • 트랜잭션 스냅샷을 더욱 주의 깊게 추적하세요 (알바로)

    이렇게 하면 개선됩니다.진공의 공간을 재확보하는 능력 장기 실행 트랜잭션.

  • 관계별 autovacuum을 지정하는 기능 추가 및토스트매개변수테이블 생성(알바로, 오일러 타베이라 데 올리베이라)

    Autovacuum 옵션은 시스템에 저장되어 있었습니다. 테이블.

  • 추가--동결옵션vacuumdb(브루스)

E.72.3.6. 데이터 유형

  • 추가대소문자 구분옵션 텍스트 검색 동의어 사전용(Simon)

  • 정밀도 향상숫자부문 (톰)

  • 다음에 대한 기본 산술 연산자 추가int2int8(톰)

    이것은 일부에서 명시적인 캐스팅의 필요성을 제거합니다. 상황.

  • 허용UUID수락하려면 입력하세요. 매 네 번째 숫자 뒤에 선택적 하이픈(Robert 하스)

  • 허용켜짐/꺼짐부울 데이터 유형에 대한 입력 (이타가키 다카히로)

  • 주위에 공백을 허용하세요NaN에 유형에 대한 입력 문자열숫자(샘 메이슨)

E.72.3.6.1. 임시 데이터 유형

  • 거부 연도기원전 0및 연도000그리고0000(톰)

    이전에는 다음과 같이 해석되었습니다.기원전 1년. (참고: 년0그리고00있습니다 여전히 2000년으로 추정됩니다.)

  • 포함SGT(싱가포르 시간) 알려진 시간대의 기본 목록 약어(톰)

  • 지원무한대그리고-무한대유형 값으로날짜(톰)

  • 분석하기간격리터럴이 더 표준을 준수함(Tom, Ron Mayer)

    예를 들어,간격 '1' 년도이제 예상대로 작동합니다.

  • 허용간격초 단위 정밀도는 이후에 지정됩니다.키워드, forSQL표준 규정 준수(톰)

    이전에는 정밀도가 다음 뒤에 지정되어야 했습니다. 예어간격. (뒤쪽의 경우 호환성 때문에 이 구문은 여전히 ​​지원됩니다. 더 이상 사용되지 않습니다.) 이제 데이터 유형 정의가 출력됩니다. 표준 형식을 사용합니다.

  • 지원IS0 8601 간격구문 (론 메이어, 케빈 그릿너)

    예를 들어,간격 'P1Y2M3DT4H5M6.7S'이제 지원됩니다.

  • 추가간격 스타일매개변수 방법을 제어하는 ​​방법간격값이 출력됩니다(론 메이어)

    유효한 값은 다음과 같습니다:포스트그레, postgres_verbose, sql_standard, iso_8601. 이 설정은 또한 다음을 제어합니다. 부정적인 처리간격일부 필드에만 양수/음수가 있는 경우 입력 지정.

  • 분수 처리의 일관성 향상 초 후타임스탬프그리고간격출력(론 메이어)

E.72.3.6.2. 배열

  • 적용된 캐스트 처리 개선배열[]다음과 같은 구성배열[...]::정수[](브렌든 저드)

    이전에는PostgreSQL에 대한 데이터 유형을 결정하려고 시도했습니다.배열[]참조 없이 구성 이어지는 출연진. 이는 많은 경우 불필요하게 실패할 수 있습니다. 특히 다음과 같은 경우에배열[]구조물이 비어 있거나 포함되어 있습니다. 다음과 같은 모호한 항목만NULL. 이제 출연진에게 상담을 받았습니다. 배열 요소의 유형을 결정합니다.

  • 만들다SQL-구문어레이선택적인 차원 일치하는SQL표준 (피터)

  • 추가array_ndims()에 배열의 차원 수를 반환합니다(로버트 하스)

  • 추가배열_길이()에 지정된 차원에 대한 배열의 길이를 반환합니다. (짐 나스비, 로버트 하스, 피터 아이젠트라우트)

  • 집계 함수 추가array_agg(), 모두 반환 단일 배열로 집계된 값(Robert Haas, Jeff 데이비스, 피터)

  • 추가unnest(), 배열을 개별 행 값으로 변환합니다(Tom)

    이것은 반대입니다array_agg().

  • 추가array_fill()에 값으로 초기화된 배열 생성(Pavel 스테훌레)

  • 추가generate_subscripts()단순화하다 배열의 첨자 범위 생성(Pavel 스테훌레)

E.72.3.6.3. 광범위한 가치의 스토리지(토스트)

  • 고려하세요토스트32바이트만큼 짧은 값에 대한 압축(이전에는 256바이트)(그렉 스타크)

  • 젠 토토하기 전에 최소 25%의 공간 절약 필요토스트압축 (이전에는 작은 값과 전혀 절약되지 않는 경우 20%였습니다. 큰 값의 경우) (Greg)

  • 개선토스트큰 행과 작은 행이 혼합된 행에 대한 휴리스틱 토스트 가능한 필드이므로 큰 크기로 푸시하는 것을 선호합니다. 값이 라인을 벗어나고 작은 값을 압축하지 않습니다. 불필요하게 (그렉, 톰)

E.72.3.7. 기능

  • 문서화세트시드()다음의 값을 허용합니다.-11(단지01) 및 유효한 범위 시행(Kris Jurka)

  • 서버측 기능 추가lo_import(파일 이름, oid)(타츠오)

  • 추가quote_nullable(), 다음과 같이 동작합니다quote_literal()그러나 문자열을 반환합니다NULL널 인수의 경우 (브렌든 저드)

  • 전체 텍스트 검색 개선제목()추출을 허용하는 함수 여러 텍스트 조각(Sushant Sinha)

  • 추가suppress_redundant_updates_trigger()62869_62965

  • 추가div(숫자, 숫자)수행하다숫자반올림 없는 나누기 (Tom)

  • 추가타임스탬프그리고timestamptz버전generate_series()(하라다 히토시)

E.72.3.7.1. 개체 정보 기능

  • 구현현재_쿼리()함수에 사용 현재 실행 중인 쿼리를 알아야 합니다(Tomas 도란)

  • 추가pg_get_keywords()파서 키워드 목록을 반환하려면(데이브 페이지)

  • 추가pg_get_functiondef()을 보기 위해 함수의 정의(Abhijit Menon-Sen)

  • 두 번째 인수 허용pg_get_expr()다음 경우에 0이 됩니다. 변수를 포함하지 않는 표현식의 구문 분석 (남자 이름)

  • 수정pg_relation_size()젠 토토하다regclass(헤이키)

    pg_relation_size(data_type_name)아니요 더 이상 작동합니다.

  • 추가boot_val그리고reset_val열부터pg_settings출력(그레그 스미스)

  • 소스 파일 이름 및 줄 번호 열 추가pg_settings다음에 대한 출력 구성 파일에 설정된 변수(Magnus, 알바로)

    보안상의 이유로 이 열은 볼 수만 있습니다 슈퍼유저에게.

  • 다음에 대한 지원 추가CURRENT_CATALOG, CURRENT_SCHEMA, SET 목록, 스키마 설정(피터)

    이들은 다음을 제공합니다SQL-기존의 표준 구문 특징.

  • 추가pg_typeof()어느 모든 값의 데이터 유형을 반환합니다(Brendan Jurd)

  • 만들다버전()반환 서버가 32비트인지 64비트인지에 대한 정보 바이너리(브루스)

  • 정보 스키마 열의 동작 수정is_insertable_into그리고is_updatable되다 일관된 (피터)

  • 정보 스키마의 동작 개선datetime_precision열 (베드로)

    이 열은 이제 0으로 표시됩니다.날짜열 및 6(기본 정밀도) 을 위한시간, 타임스탬프간격선언된 정밀도 없이, 이전처럼 null을 표시하는 대신

  • 나머지 내장 세트 반환 함수를 다음으로 변환 사용아웃매개변수(제이미 카사노바)

    이렇게 하면 다음 함수를 호출할 수 있습니다 열 목록을 지정하지 않고:pg_show_all_settings(), pg_lock_status(), pg_prepared_xact(), pg_prepared_statement(), pg_cursor()

  • 만들다pg_*_is_visible()그리고has_*_privilege()함수 반환NULL용 오류를 보고하는 대신 잘못된 OID를 사용합니다(Tom)

  • 연장has_*_privilege()허용하는 함수 하나의 여러 권한에 대한 OR에 대해 문의 전화(스티븐 프로스트, 톰)

  • 추가has_column_privilege()그리고has_any_column_privilege()기능 (스티븐 프로스트, 톰)

E.72.3.7.2. 함수 생성

  • 가변 함수 지원( 가변 개수의 인수) (Pavel Stehule)

    후행 인수만 선택사항일 수 있으며, 모두 동일한 데이터 유형이어야 합니다.

  • 함수 인수에 대한 기본값 지원(Pavel 스테훌레)

  • 추가함수 생성... 반환 테이블절(Pavel Stehule)

  • 허용SQL-반환할 언어 함수 의 출력삽입/업데이트/삭제 돌아오는 중절 (톰)

E.72.3.7.3. PL/pgSQL 서버측 언어

  • 지원다음을 사용하여 실행용 동적 쿼리에 데이터 값을 더 쉽게 삽입 문자열(파벨 스테훌레)

  • 다음을 사용하여 커서 결과에 대한 반복 허용for루프(Pavel Stehule)

  • 지원쿼리 반환 실행하다(파벨 스테훌레)

  • 개선상승명령 (파벨 스테훌레)

    • 지원세부정보그리고힌트필드

    • 지원 사양SQLSTATE오류 코드

    • 예외 이름 매개변수 지원

    • 허용올림없이 예외 블록의 매개변수를 사용하여 예외를 다시 발생시킵니다. 현재 오류

  • 지정 허용SQLSTATE코드 입력예외목록 (Pavel Stehule)

    이것은 젠 토토자 정의를 처리하는 데 유용합니다.SQLSTATE코드.

  • 지원사례문장 (파벨 스테훌레)

  • 만들다반환 쿼리설정 특별한발견그리고진단 받기 ROW_COUNT변수 (Pavel Stehule)

  • 만들다가져오기그리고이동설정GET 진단 ROW_COUNT변수 (앤드류 Gierth)

  • 만들다종료라벨 없음 항상 가장 안쪽 루프를 종료합니다(Tom)

    이전에는 a가 있었다면시작어떤 블록보다 더 밀접하게 중첩된 블록 루프를 실행하면 대신 해당 블록이 종료됩니다. 새로운 동작은 Oracle(TM)과 일치하며 또한 이전에 자체 문서에 명시되어 있습니다.

  • 문자열 리터럴 및 중첩 블록 처리 주석이 기본 SQL 파서의 처리와 일치합니다. (남자 이름)

    특히, 형식 문자열은상승이제 다른 것과 동일하게 작동합니다 문자열 리터럴(다음 대상 포함)standard_conforming_strings. 이번 변화 또한 유효한 명령이 실행되지 않는 다른 경우도 수정합니다. 실패할 때standard_conforming_strings켜져 있습니다.

  • 동일한 기능이 있을 때 메모리 누수를 방지하세요 다양한 예외 블록 중첩 깊이에서 호출됨 (남자 이름)

E.72.3.8. 클라이언트 애플리케이션

  • 수정pg_ctl 재시작에 명령줄 인수 유지(Bruce)

  • 추가-w/--비밀번호 없음방지하는 옵션 다음이 있는 모든 유틸리티에서 비밀번호를 묻는 메시지가 표시됩니다.-W/--비밀번호옵션 (피터)

  • 삭제-q(조용한) 옵션생성된 DB, 젠 토토자 생성, dropdb, 드롭유저(피터)

    이 옵션은 이후 아무런 효과가 없습니다.포스트그레SQL 8.3.

E.72.3.8.1.psql

  • 장황한 시작 배너를 제거합니다; 이제 제안해 보세요.도움말(조슈아 드레이크)

  • 만들다도움말공통 표시 백슬래시 명령(Greg Sabino Mullane)

  • 추가\pset 형식 래핑출력을 화면 너비 또는 파일/파이프에 맞게 래핑하는 모드 다음과 같은 경우에도 출력됩니다.\pset 열이다 세트(브라이스 네스빗)

  • 지원되는 모든 부울 값 철자 허용\pset, 단지가 아닌켜짐그리고꺼짐(브루스)

    이전에는 이외의 모든 문자열"끄기"조용히 의미로 받아들여졌습니다. psql이제 불평할 것입니다. 인식할 수 없는 철자(그러나 여전히 철자로 간주함)).

  • 넓은 출력을 위해 호출기를 젠 토토하십시오 (Bruce)

  • 한 글자 백슬래시 사이에 공백이 필요합니다. 명령과 첫 번째 인수(Bernd Helmle)

    이것은 모호함의 역사적 근원을 제거합니다.

  • 스키마 한정에 대한 탭 완성 지원 개선 및 인용된 식별자(Greg Sabino Mullane)

  • 선택사항 추가켜짐/꺼짐인수\타이밍(데이비드 페터)

  • 여러 줄에 액세스 제어 권한 표시 (브렌든 저드, 안드레아스 셰르바움)

  • 만들다\l데이터베이스 표시 액세스 권한(Andrew Gilligan)

  • 만들다\l+데이터베이스 표시 권한이 허용되는 경우 크기(Andrew Gilligan)

  • 추가\ef편집 명령 함수 정의(Abhijit Menon-Sen)

E.72.3.8.2.psql\d* 명령

  • 만들다\d*다음 명령 패턴 인수가 없는 경우에만 시스템 개체를 표시합니다. 그만큼S수정자가 지정되었습니다. (그렉 사비노 멀레인, 브루스)

    이전 행동은 전체에서 일관성이 없었습니다. 다양한 변형\d그리고 대부분의 경우 젠 토토자만 볼 수 있는 쉬운 방법은 제공되지 않았습니다. 사물.

  • 개선\d*명령을 내린다 나이 많은 사람과 함께 일하다포스트그레SQL서버 버전(이전 버전) 7.4), 현재 서버 버전(Guillaume 르라지)

  • 만들다\d외래 키 표시 선택한 테이블을 참조하는 제약 조건(Kenneth 디수자)

  • 만들다\d시퀀스 쇼에 해당 열 값(Euler Taveira de Oliveira)

  • 열 저장 유형 및 기타 관계 옵션 추가 에\d+디스플레이(그레고리 스타크, 오일러 타베이라 데 올리베이라)

  • 관계 크기 표시 형식\dt+출력(Dickson S. Guedes)

  • 가능한 값 표시열거형입력\dT+(데이비드 페터)

  • 허용\dC수락하다 두 데이터 유형 중 하나와 일치하는 와일드카드 패턴 출연진 참여 (톰)

  • 다음에 함수 유형 열 추가\df'의 출력 및 목록에 옵션 추가 선택된 유형의 기능만(David Fetter)

  • 만들다\df숨김 기능 아님 유형을 취하거나 반환하는cstring(톰)

    이전에는 이러한 기능이 숨겨져 있었습니다. 대부분의 경우 그 중 데이터 유형 I/O 함수는 다음과 같습니다. 시시한. 은닉 시스템에 대한 새로운 정책 기능은 기본적으로 이 사마귀를 불필요하게 만듭니다.

E.72.3.8.3.pg_dump

  • 추가--테이블스페이스 없음옵션pg_dump/pg_dumpall/pg_restore그래서 덤프는 일치하지 않는 테이블스페이스가 있는 클러스터로 복원됨 레이아웃(개빈 로이)

  • 삭제-d그리고-D옵션pg_dump그리고pg_dumpall(톰)

    이러한 옵션은 다음과 너무 자주 혼동되었습니다. 다른 데이터베이스 이름을 선택하는 옵션포스트그레SQL클라이언트 응용프로그램. 해당 기능은 계속 사용할 수 있지만 지금은 긴 옵션 이름을 철자하십시오.--삽입또는--열 삽입.

  • 제거-i/--무시-버전옵션pg_dump그리고pg_dumpall(톰)

    이 옵션을 사용하면 오류가 발생하지 않지만 효과가 없습니다. 이 옵션은 다음과 같은 이유로 제거되었습니다. 안전을 위해 버전 확인이 필요합니다.

  • 비활성화statement_timeout덤프 및 복원 중(Joshua Drake)

  • 추가pg_dump/pg_dumpall옵션--잠금 대기 시간 초과(데이비드 굴드)

    이것은 획득할 수 없는 경우 덤프가 실패하도록 허용합니다. 지정된 시간 내에 공유 잠금을 해제합니다.

  • 재주문pg_dump --데이터 전용덤프로 출력 이전에 외래 키가 참조하는 테이블 테이블 참조(Tom)

    이것은 외래 키가 이미 있을 때 데이터 로드를 허용합니다 현재의. 순환 참조가 안전한 순서를 만드는 경우 불가능하다, 아공지이다 발행되었습니다.

  • 허용pg_dump, pg_dumpallpg_restore젠 토토하다 지정된 역할(Benedek László)

  • 허용pg_restore에 여러 동시 연결을 사용하여 복원 수행 (앤드류)

    동시 연결 수는 제어됩니다 옵션으로--작업. 이것은 젠 토토자 정의 형식 아카이브에만 지원됩니다.

E.72.3.9. 프로그래밍 도구

E.72.3.9.1.libpq

  • 허용OID지정 예정 새로운 기능을 통해 대형 객체를 가져올 때lo_import_with_oid()(타츠오)

  • 추가"이벤트"지원 (앤드류 처노우, 멀린 몽큐어)

    이것은 콜백을 등록하는 기능을 추가합니다 관련된 개인 데이터를 관리합니다.PGconn그리고PGresult객체.

  • 다음을 반환할 수 있도록 오류 처리를 개선합니다. 여러 줄 오류 보고서로 표시되는 여러 오류 메시지 (매그너스)

  • 만들다PQexecParams()및 관련 함수 반환PGRES_EMPTY_QUERY빈 쿼리의 경우 (남자 이름)

    그들은 이전에 돌아왔습니다PGRES_COMMAND_OK.

  • 오버헤드를 방지하는 방법을 문서화WSACleanup()Windows의 경우(앤드류 체르노우)

  • Kerberos 티켓을 사용하여 다음을 결정하지 마십시오. 기본 데이터베이스 젠 토토자 이름(Magnus)

    이전에는 Kerberos를 지원하는 libpq 빌드가 사용 가능한 Kerberos의 주체 이름을 사용합니다. 티켓을 기본 데이터베이스 젠 토토자 이름으로 사용합니다. 연결이 Kerberos 인증을 사용하지 않았습니다. 이것 일관성이 없고 혼란스러운 것으로 간주되었습니다. 기본값 젠 토토자 이름은 이제 유무에 관계없이 동일한 방식으로 결정됩니다. 케르베로스. 그러나 데이터베이스 젠 토토자 이름은 다음과 같아야 합니다. Kerberos 인증이 활성화된 경우에도 여전히 티켓과 일치합니다. 사용된.

E.72.3.9.2.libpq SSL(보안 소켓 계층) 지원하다

  • 다음 인증서 유효성 검사 수정SSL연결 (매그너스)

    libpq이제 지원됩니다. 인증서와 이름을 모두 확인합니다. 만들 때 서버SSL연결. 뿌리라면 인증서를 확인에 사용할 수 없습니다.SSL연결은 실패하다. 그만큼ssl모드매개변수는 인증서 확인을 활성화하고 확인하는 수준. 기본값은 여전히 ​​아무것도 하지 않는 것입니다. 확인, SSL 지원 연결 허용 루트 인증서가 필요하지 않은 서버 고객.

  • 와일드카드 서버 인증서 지원(Magnus)

    인증서인 경우CN다음으로 시작*, 다음 경우 와일드카드로 처리됩니다. 호스트 이름과 일치하여 동일한 사용이 허용됩니다. 여러 서버에 대한 인증서입니다.

  • 클라이언트 인증서의 파일 위치를 다음으로 허용 지정될 수 있음(마크 우드워드, 알바로, 매그너스)

  • 추가PQinitOpenSSL기능을 통해 더 큰 제어가 가능해졌습니다. OpenSSL/libcrypto 초기화(Andrew Chernow)

  • 만들다libpq등록 취소오픈SSL데이터베이스 연결이 열려 있지 않을 때의 콜백 (브루스, 매그너스, 러셀 스미스)

    이것은 언로드하는 응용프로그램에 필요합니다. libpq 라이브러리, 그렇지 않으면 유효하지 않음오픈SSL콜백은 그대로 유지됩니다.

E.72.3.9.3.ecpg

  • 메시지에 대한 현지화 지원 추가(Euler Taveira 드 올리베이라)

  • ecpg 파서가 이제 자동으로 생성됩니다. 서버 파서(마이클)

    이전에는 ecpg 파서가 수동으로 관리되었습니다.

E.72.3.9.4. 서버 프로그래밍 인터페이스 (SPI)

  • 회선 외 일회용 요금제 지원 추가 매개변수(톰)

  • 새로 추가SPI_OK_REWRITTEN반환 코드:SPI_execute()(헤이키)

    이것은 명령이 다른 명령으로 다시 작성될 때 사용됩니다 명령 유형입니다.

  • 다음에서 불필요한 포함 제거executor/spi.h(톰)

    SPI를 사용하는 모듈은 일부를 추가해야 할 수도 있습니다#include라인이 의존하는 경우spi.h다음 항목을 포함하려면 그들을.

E.72.3.10. 빌드 옵션

  • 사용할 빌드 시스템 업데이트자동 구성2.61 (피터)

  • 요구GNU 들소용 소스 코드 빌드(Peter)

    이것은 수년 동안 효과적으로 요구되었습니다. 하지만 지금은 이를 지원한다고 주장하는 인프라가 없습니다. 다른 파서 도구.

  • 추가pg_config --htmldir옵션 (피터)

  • 통과float4내부 값 기준 서버(Zoltan Boszormenyi)

    추가구성옵션--disable-float4-byval젠 토토하다 오래된 행동. 이전 스타일을 사용하는 외부 C 함수 (버전 0) 호출 규칙 및 전달 또는 반환float4이 변경으로 인해 값이 깨질 것입니다. 그래서 당신은 다음이 필요할 수도 있습니다.구성옵션이 있는 경우 기능을 업데이트하고 싶지 않습니다.

  • 통과float8, int8및 내부 값별 관련 데이터 유형 64비트 플랫폼의 서버(Zoltan Boszormenyi)

    추가구성옵션--disable-float8-byval젠 토토하다 오래된 행동. 위와 같이 이 변경사항은 중단될 수 있습니다. 이전 스타일의 외부 C 함수입니다.

  • 구성 옵션 추가--세그사이즈 포함, --블록 크기 포함, --with-wal-blocksize, --with-wal-segsize(즈데넥 코탈라, 남자 이름)

    이것은 여러 가지에 대한 빌드 시간 제어를 단순화합니다. 이전에는 다음으로만 변경할 수 있었던 상수 편집pg_config_manual.h.

  • 스레드 빌드 허용솔라리스2.5 (브루스)

  • 시스템을 젠 토토하세요getopt_long()켜짐솔라리스(즈데넥 코탈라, 톰)

    이것은 옵션 처리가 무엇과 더 일관되게 만듭니다. Solaris 젠 토토자는 기대합니다.

  • 에 대한 지원 추가일 사진관컴파일러 켜기리눅스(율리우스 스트로페크)

  • 백엔드에 주요 버전 번호 추가gettext도메인 및소나메주 버전 번호 도서관'gettext도메인 (피터)

    이것은 여러 장치의 병렬 설치를 단순화합니다. 버전.

  • 코드 범위 테스트 지원 추가gcov(미셸 케스)

  • 트리 외부 빌드 허용밍우그리고시그윈(리차드 에반스)

  • 사용 수정밍우크로스 컴파일 소스 플랫폼으로(Peter)

E.72.3.11. 소스 코드

  • 64비트 시간대 데이터 파일 지원(Heikki)

    이것은 일광 절약 시간에 대한 지원을 추가합니다 (DST) 계산 2038년 이후.

  • 플랫폼 젠 토토 중단time_t데이터 유형 (톰)

    일부 플랫폼은 64비트로 마이그레이션되었습니다.time_t, 일부는 그렇지 않으며 Windows에서는 만들 수 없습니다. 무엇을 하고 있는지 생각해 보세요. 정의하다pg_time_t동일한 의미를 갖다time_t, 그러나 항상 64비트여야 합니다. (플랫폼에 64비트 정수 유형이 없는 경우 제외) 모든 모듈 API 및 디스크상의 데이터에 해당 유형 형식.

  • 다음 경우에 시간대 데이터베이스 처리 버그 수정 크로스 컴파일(Richard Evans)

  • 백엔드 개체 파일을 한 단계로 연결하는 것이 아니라 한 단계로 연결합니다. 단계 (피터)

  • 개선gettext복수형의 더 나은 번역을 지원합니다. (베드로)

  • PL 언어에 메시지 번역 지원 추가 (알바로, 피터)

  • 더 추가DTrace프로브 (로버트 로)

  • 활성화DTrace지원 에맥 OS X 레오파드그리고 기타 비Solaris 플랫폼(Robert Lor)

  • C 문자열 간의 변환 단순화 및 표준화 그리고텍스트데이텀, 제공을 통해 목적에 맞는 공통 기능(Brendan Jurd, Tom)

  • 정리포함/카탈로그/헤더 파일을 사용하여 프런트엔드 프로그램은 포함하지 않고 포함할 수 있습니다.postgres.h(즈데넥 코탈라)

  • 만들다이름문자 정렬 및 제로 패딩 억제이름색인의 항목(Tom)

  • 동적으로 로드된 코드가 실행되면 더 나은 복구출구()(톰)

  • 플러그인이 실행 프로그램을 모니터링할 수 있도록 후크 추가 (이타가키 다카히로)

  • 플래너의 통계 조회를 허용하는 후크 추가 재정의할 동작(Simon Riggs)

  • 추가shmem_startup_hook()맞춤형 공유 메모리 요구사항(Tom)

  • 색인 액세스 방법 교체amgetmulti다음의 진입점amgetbitmap, 확장 API:amgettuple에 운영자 손실에 대한 런타임 결정 지원 (헤이키, 톰, 테오도르)

    GIN 및 GiST opclass용 API일관적인기능이 확장되었습니다 또한.

  • 부분 일치 검색 지원 추가색인(테오도르 시가예프, 올렉 바르투노프)

  • 교체pg_class재트리거부울 젠 토토relhastriggers(사이먼)

    사용하지 않은 항목도 제거pg_classrelukeys, relfkeysrelrefs.

  • 추가relistem열 대상pg_class편안하게 하다 임시 테이블 식별(Tom)

  • 플랫폼 이동FAQs 기본 문서에 (Peter)

  • 파서 입력 파일이 빌드되는 것을 방지합니다. 갈등(피터)

  • 에 대한 지원 추가KOI8U(우크라이나어) 인코딩 (피터)

  • 일본어 메시지 번역 추가(일본 PostgreSQL 젠 토토자 그룹)

    이것은 별도의 프로젝트로 유지되곤 했습니다.

  • 설정 시 문제 수정LC_MESSAGES켜짐MSVC-시스템 구축(이노우에 히로시, 사이토 히로시, 매그너스)

E.72.3.12. 기여

  • 추가contrib/auto_explain에 자동으로 실행설명켜짐 지정된 기간을 초과하는 쿼리(이타가키 다카히로, 남자 이름)

  • 추가contrib/btree_gin에 GIN 인덱스가 더 많은 데이터 유형을 처리할 수 있도록 허용(Oleg, 테오도르)

  • 추가기여/citext에 대소문자를 구분하지 않고 멀티바이트를 인식하는 텍스트 데이터 제공 유형(데이비드 휠러)

  • 추가contrib/pg_stat_statements용 서버 전체에서 명령문 실행 통계 추적 (이타가키 다카히로)

  • 기간 및 쿼리 모드 옵션 추가기여/pgbench(이타가키 타카히로)

  • 만들다기여/pgbench사용 테이블 이름pgbench_accounts, pgbench_branches, pgbench_historypgbench_tellers, 단지가 아닌계정, 분기, 역사텔러(톰)

    이것은 우발적인 파괴의 위험을 줄이기 위한 것입니다 실행을 통한 실제 데이터pgbench.

  • 수정contrib/pgstattuple에 20억 페이지가 넘는 테이블과 인덱스 처리 (카사하라 타츠히토)

  • contrib/fuzzystrmatch, Levenshtein 문자열 거리 함수 버전을 추가하세요. 젠 토토자가 삽입 비용을 지정할 수 있도록 하며, 삭제 및 대체(Volkan Yazici)

  • 만들다기여/ltree지원 멀티바이트 인코딩(레이저)

  • 활성화기여/dblink젠 토토하다 SQL/MED 카탈로그에 저장된 연결 정보 (조 콘웨이)

  • 개선기여/dblink의 원격 서버의 오류 보고(Joe 콘웨이)

  • 만들다기여/dblink설정client_encoding일치 로컬 데이터베이스의 인코딩(Joe Conway)

    이것은 통신 시 인코딩 문제를 방지합니다 다른 데이터베이스를 사용하는 원격 데이터베이스 부호화.

  • 반드시 ​​확인하세요기여/dblink젠 토토자가 제공한 비밀번호를 사용하지만 실수로 서버에서 가져온 것입니다..pgpass파일(조 콘웨이)

    이것은 사소한 보안 개선 사항입니다.

  • 추가fsm_page_contents()기여/페이지검사(헤이키)

  • 수정get_raw_page()에 여유 공간 지도 지원(*_fsm) 파일. 또한 업데이트하세요contrib/pg_freespacemap.

  • 멀티바이트 인코딩 지원 추가contrib/pg_trgm(테오도르)

  • 다시 작성기여/intagg에 새로운 기능을 사용하세요array_agg()그리고unnest()(톰)

  • 만들다contrib/pg_standby장애 조치 이전에 사용 가능한 모든 WAL을 복구합니다(Fujii Masao, 사이먼, 헤이키)

    이 작업을 안전하게 수행하려면 이제 새로운 설정을 설정해야 합니다.recovery_end_command옵션 포함recovery.conf정리하기 위해 장애 조치 후 파일을 트리거합니다.pg_standby더 이상 제거하지 않습니다. 트리거 파일 자체.

  • contrib/pg_standby's-l옵션은 이제 작동하지 않습니다. 왜냐하면 심볼릭 링크를 사용하는 것은 안전하지 않습니다(Simon).