이 달 초에 발표되었는데, 이제 소개하네요.
짧은 소개글입니다.
새기능
- 색인을 다시 만들 때 드디어 테이블을 잠그지 않고, 만들 수 있습니다!
- pg_checksums 명령으로 이미 만들어진 클러스터에 대해서 데이터 파일 체크섬 옵션을 켜거나 끌 수 있습니다.
- 테이블 만들 때, 계산된 칼럼을 만들 수 있습니다. (이제 추가되었네요. 뷰 만드는 번거로움이 좀 줄겠죠)
마이그레이션
- oid 숨은 칼럼이 이제 아에 사라졌습니다. 기존 시스템 카탈로그 테이블에서 사용하는 oid는 이제 일반 칼럼으로 만들어 하위 호환성을 유지했습니다. 응용 프로그램에서 이런 방식으로 oid를 사용한다면, 리모델링을 하셔야 합니다.
- abstime, reltime, tinterval 자료형이 사라졌습니다.
- timetravel 확장 모듈이 빠졌습니다.
- recovery.conf 가 사라지고, postgresql.conf 쪽에 통합되었습니다. (recovery.conf 를 사용하는 작업이 많이 바뀌었습니다. 새로 공부하셔야합니다.)
- substring() 함수의 결과가 달라질 수 있습니다. 꼭 확인하세요.
- btree 자료 구조가 바뀌었기 때문에, pg_upgrade 로 마이그레이션 한 경우, reindex 작업을 할 때, 오류가 발생할 수 있습니다. (날잡아서 야금야금 새로 인덱스를 만들어 예상치 못한 상황에서 좀 더 안전하도록 오지랖을 떨 필요까지 있을것 같기도 합니다.)
- pg_constraint.consrc pg_attrdef.adsrc 칼럼들이 사라졌습니다.
- dynamic_shared_memory_type 환경 설정 매개 변수가 사라졌습니다.
이제껏 있어왔던 메이져 버전 발표가운데, 제일 성가신 마이그레션 문서였네요.
서버 개선사항
- 수천개의 하위 파티션 테이블이 있는 테이블에서 성능이 개선되었습니다.
- 파티션 테이블에서 COPY 기능이 개선되었습니다.
- ALTER TABLE ATTACH PARTITION 작업에서 테이블을 더이상 잠그지 않습니다.
- 파티션 테이블 관련 정보를 보는 psql \dP 내부 명령 추가
- 인덱스 쪽은 GIN, GiST 인덱스들의 성능 개선 작업이 많이 있었네요.
- JIT 짜깁기 기능이 기본 기능으로 변경되었습니다.
- ALTER TABLE ... SET NOT NULL 작업에서 이제 더 이상 테이블 전체 스캔을 하지 않습니다.
- 세션 타임존이 UTC 일 때, ALTER TABLE ... SET DATA TYPE 작업으로 timestamp, timestamptz 자료형간 변경 작업을 할 때 테이블 전체 스캔을 하지 않습니다.
- log_transaction_sample_rate 새 서버 환경 설정 매개변수가 추가되었습니다. 어디에 쓰는 놈인지는 아직 모르겠습니다.
- ping 테스트로 보이는 "incomplete startup packet" 메시지가 이제 더 안보입니다.
클라이언트 개선사항
- 자잔하게 많은데, 직접 읽어 보시면 될 것 같고,
- psql에서 사용할 PG_COLORS OS 환경 변수가 추가되었습니다. 알록달록 볼 수 있겠네요.
- pg_upgrade --clone 옵션이 새로 생겼습니다. 아마 원복 작업을 좀 더 편해질 듯합니다.
- pg_dump , pg_restore 에서 병렬 작업을 할 수 있습니다.
- pg_dump , pg_restore 작업에서 이미 있는 자료에 대해서는 무시하는 기능이 추가되었습니다.
자세한 것은 공식 출시 소식 문서를 참조하세요. |