매년 9월에서 10월 사이에 발표되었듯이, PostgreSQL 17의 새 버전 출시가 발표되었습니다. 모든 이전 버전과 마찬가지로 우선순위는 성능 개선과 최적화입니다. 특히 VACUUM, I/O 및 쿼리와 같은 작업을 위한 리소스를 확보했으며, 이번 릴리스의 가장 중요한 새 기능은 증분 백업입니다.
비즈니스 사용자를 위해 이 업데이트는 데이터베이스 관리 및 사용을 단순화하는 다양한 개선 사항을 제공합니다. PostgreSQL은 역사적으로 관계형 데이터베이스였지만 이 버전은 일반적으로 MongoDB Atlas와 관련된 기능인 JSON 문서 작업을 위한 고급 기능과의 통합을 확장합니다.
PostgreSQL 17의 새로운 기능
제시된 PostgreSQL 17의 새 버전에서는 VACUUM 작업의 새로운 데이터 구조, 메모리 소비를 최대 20배까지 줄여 공유 리소스 측면에서 이러한 작업을 더 빠르고 효율적으로 수행할 수 있습니다.
측에서는 성능 개선, 후기입 로그 관리 (WAL)이 최적화되어 동시 쿼리가 많은 시스템에서 쓰기 성능이 최대 2배 향상되었습니다. 그것은 제안되었습니다 순차 검색 개선을 위한 스트리밍 I/O 인터페이스 ANALYZE 작업을 수행한 후 통계를 업데이트합니다.
그 외에도 "IN" 절이 포함된 쿼리에 개선 사항이 구현되었습니다. B-트리 인덱스를 사용하여 BRIN 인덱스 병렬 구성을 구현했으며 "NOT NULL" 검사를 최적화하고 공통 테이블 표현식(CTE) 처리를 가속화했으며 집중 계산을 위해 SIMD를 통합했습니다. AVX-512와 같은 명령어는 `bit_count` 함수와 같은 작업 속도를 높입니다.
또 하나 눈에 띄는 참신함은 JSON의 새로운 기능, 이후 이제 사용자는 표준 SQL 명령을 사용하여 JSON 데이터 유형을 쿼리할 수 있습니다. 이는 새로운 테이블 기능 덕분에 가능합니다. json, JSON 데이터를 표 형식 구조로 변환합니다. 거기에서 사용자는 절을 사용하여 쿼리를 만들 수 있습니다. FROM SQL에서는 데이터를 관계형 형식으로 반환할 수 있습니다. JSON 데이터를 표준 PostgreSQL 테이블로 변환하는 `JSON_TABLE` 함수를 추가했습니다.
그만큼 새로운 증분 백업 기능 PostgreSQL 17에서는 마지막 백업 이후 변경된 사항만 백업할 수 있습니다. 전체 또는 증분. 대역폭 사용량을 최적화하고 스토리지를 줄입니다. PostgreSQL은 이미 WAL(미리 쓰기 로그)을 복제하여 데이터베이스의 필요한 섹션을 유지하는 WAL Archiving과 같은 솔루션을 제공했지만 버전 17에서는 증분 복사를 수행하기 위한 기본 메커니즘을 처음으로 도입했습니다. 이 시스템은 성능에 미치는 영향을 줄여 작업 중 중단을 최소화할 뿐만 아니라 백업 복원은 일반적으로 사용자에게 느리고 걱정스러운 프로세스이기 때문에 중요한 측면인 복구 시간을 크게 단축합니다.
플랫폼 독립적인 엔진 구현 로케일 속성을 처리하여 쿼리 결과 순서에서 일관된 동작을 허용합니다. 이 엔진은 값을 정렬할 때 특수 문자의 존재 여부, 대소문자 구분 등의 요소를 고려합니다. 이제 논리적 복제 메커니즘은 새 버전으로 마이그레이션할 때 논리적 복제 슬롯을 삭제하거나 데이터를 다시 동기화할 필요 없이 데이터베이스 업그레이드 프로세스를 단순화합니다.
의 눈에 띄는 다른 변화:
- `COPY` 명령을 사용하여 긴 문자열을 내보내는 속도가 최대 2배 빨라졌습니다.
- 소스 및 대상 인코딩이 일치할 때 복사가 최적화되었습니다.
- 데이터 삽입 오류에도 불구하고 가져오기를 계속할 수 있도록 'ON_ERROR' 옵션이 추가되었습니다.
- 분할된 테이블에서 고유 식별자가 있는 열을 사용하는 기능이 추가되었습니다.
- 내결함성 구성에서 백업 서버로 전환하는 장애 조치 기능을 구현했습니다.
- 물리적 복제본을 논리적 복제본으로 변환하는 새로운 pg_createsubscriber 유틸리티가 추가되었습니다.
- ALPN TLS 확장을 사용하여 보안 TLS 연결을 직접 협상하는 "sslnegotiation" 옵션이 도입되었습니다.
- 사용자에게 DBMS 유지 관리와 관련된 작업을 수행할 수 있는 권한을 제공하는 사전 정의된 역할 pg_maintain을 추가했습니다.
마지막으로, 그것에 대해 더 알고 싶다면 자세한 내용을 참조하십시오. 다음 링크에서.