Release 480
Release 480 (2026-03-24)
Trino 480 릴리스의 변경 사항을 정리한 릴리스 노트예요. 전반적인 개선, Web UI, JDBC 드라이버, 여러 커넥터와 SPI의 변화를 다뤄요.
출처: 문서
본문
General
number타입을 추가했어요. (#28319)/metrics엔드포인트에 코디네이터와 워커 개수를 추가했어요. (#27408)task.scale-writers.max-writer-memory-percentage구성 속성으로 테이블을 쓰는 동안 사용할 최대 메모리 양을 구성할 수 있게 했어요. (#27874)- 조건자와 일치하는 첫 번째 요소를 찾는
array_first()변형을 추가했어요. (#27706) - DataSketches 함수를 추가했어요. (#27563)
- ⚠️ Breaking change:
enable-large-dynamic-filters구성 속성과 해당 시스템 세션 속성enable_large_dynamic_filters를 제거했어요. (#27637) - ⚠️ Breaking change:
dynamic-filtering.small*와dynamic-filtering.large-broadcast*구성 속성을 제거했어요. (#27637) - ⚠️ Breaking change:
deprecated.http-server.authentication.oauth2.groups-field구성 속성을 제거했어요. (#28646) - 최신 CPU 아키텍처와 Graviton 4 CPU에서 원격 데이터 교환 성능을 개선했어요. (#27586)
- 원격 데이터 교환 또는 집계가 있는 쿼리의 성능을 개선했어요. (#27657)
- spilling이 활성화되었을 때 윈도우 함수가 포함된 쿼리의 out-of-memory 오류를 줄였어요. (#27873)
- exchange manager가 구성되었지만 쿼리가 작업 수준 재시도를 사용하지 않을 때 쿼리 성능을 개선했어요. (#28698)
- 테이블
[VERSION | TIMESTAMP] AS OF절 안에서 쿼리 파라미터를 허용했어요. (#28681) - 정밀도 3의
localtimestamp()를 사용할 때의 잘못된 결과를 수정했어요. (#27806) - 정밀도 7과 8에서의
localtimestamp()실패를 수정했어요. (#27807) - 카탈로그 삭제 작업 중 시스템 카탈로그를 쿼리할 때 발생하는 가짜 쿼리 실패를 수정했어요. (#28017)
Integer.MAX_VALUE보다 큰 값으로date_add()함수를 실행할 때의 실패를 수정했어요. (#27899)json,time,boolean또는interval값을varchar(n)으로 캐스팅한 결과가 대상 타입에 맞지 않을 때의 잘못된 결과를 수정했어요. (#552)- Azure exchange manager를 사용할 때의 쿼리 실패와 증가된 지연을 수정했어요. (#28058)
Web UI
- preview UI의 헤더에 클러스터 상태 정보를 추가했어요. (#27712)
- 쿼리 상세 페이지의 스테이지를 알파벳 순이 아닌 숫자 순으로 정렬했어요. (#27655)
JDBC driver
ResultSetMetaData.getColumnClassName호출 시 map, row, time with time zone, timestamp with time zone, varbinary, null 값에 대해 올바른 클래스 이름을 반환하도록 수정했어요. (#28314)
ClickHouse connector
- 같은 테이블에 대한 이전
CREATE TABLE ... AS SELECT연산이 실패했을 때 테이블을 생성할 때의 실패를 수정했어요. (#27702)
Delta Lake connector
- ⚠️ Breaking change: live files 테이블 메타데이터 캐시를 제거했어요.
metadata.live-files.cache-size,metadata.live-files.cache-ttl,checkpoint-filtering.enabled구성 속성이 이제 무효이므로 서버 구성에서 제거해야 해요. (#27618) - ⚠️ Breaking change:
hive.write-validation-threads구성 속성을 제거했어요. (#27729) - ⚠️ Breaking change:
parquet.optimized-writer.validation-percentage구성 속성을 제거하고, 대신parquet.writer.validation-percentage를 사용하세요. (#27729) - ⚠️ Breaking change:
hive.parquet.writer.block-size구성 속성을 제거하고, 대신parquet.writer.block-size를 사용하세요. (#27729) - ⚠️ Breaking change:
hive.parquet.writer.page-size구성 속성을 제거하고, 대신parquet.writer.page-size를 사용하세요. (#27729) - ⚠️ Breaking change:
gcs.use-access-token구성 속성을 제거했어요. (#26941) - ⚠️ Breaking change:
hive.fs.new-file-inherit-ownership구성 속성을 제거했어요. (#28029) - Parquet 파일에서 고카디널리티(high-cardinality) 컬럼에 대한 Bloom 필터의 효과를 개선했어요. (#27656)
- S3의 Delta Lake 테이블에 쓸 때
PutObjectTaggingAWS S3 권한 요구 사항을 제거했어요. (#27701) - 테이블 정의 변경과 함께
CREATE OR REPLACE를 실행할 때의 잠재적 테이블 손상을 수정했어요. (#27805) - Azure 파일 시스템을 사용할 때의 쿼리 실패와 증가된 지연을 수정했어요. (#28058)
- GCS에서 파일 경로에
#이 포함될 때의 실패를 수정했어요. (#28292) - stats가 지원되지 않는 컬럼으로 parquet 컬럼 인덱스를 로드할 때의 NPE를 수정했어요. (#28560)
DuckDB connector
- 같은 테이블에 대한 이전
CREATE TABLE ... AS SELECT연산이 실패했을 때 테이블을 생성할 때의 실패를 수정했어요. (#27702)
Hive connector
- Parquet 파일의 나노초 정밀 타임스탬프를
timestamp(p) with time zone컬럼으로 읽는 지원을 추가했어요. (#27861) - ⚠️ Breaking change:
hive.write-validation-threads구성 속성을 제거했어요. (#27729) - ⚠️ Breaking change:
parquet.optimized-writer.validation-percentage구성 속성을 제거하고, 대신parquet.writer.validation-percentage를 사용하세요. (#27729) - ⚠️ Breaking change:
hive.parquet.writer.block-size구성 속성을 제거하고, 대신parquet.writer.block-size를 사용하세요. (#27729) - ⚠️ Breaking change:
hive.parquet.writer.page-size구성 속성을 제거하고, 대신parquet.writer.page-size를 사용하세요. (#27729) - ⚠️ Breaking change: 더 이상 사용되지 않는
gcs.use-access-token구성 속성을 제거했어요. (#26941) - ⚠️ Breaking change:
hive.fs.new-file-inherit-ownership구성 속성을 제거했어요. (#28029) - Parquet 파일에서 고카디널리티 컬럼에 대한 Bloom 필터의 효과를 개선했어요. (#27656)
- Azure 파일 시스템을 사용할 때의 쿼리 실패와 증가된 지연을 수정했어요. (#28058)
- 버킷화·정렬된 테이블을 대상으로 하는
INSERT쿼리의 잘못된 메모리 회계를 수정했어요. (#28315) - Hive metastore 버전 4를 사용할 때 타임스탬프 컬럼이 있는 테이블에 대한
INSERT와ANALYZE실패를 수정했어요. (#26214, #28330)
Hudi connector
- ⚠️ Breaking change:
hive.write-validation-threads구성 속성을 제거했어요. (#27729) - ⚠️ Breaking change:
parquet.optimized-writer.validation-percentage구성 속성을 제거하고, 대신parquet.writer.validation-percentage를 사용하세요. (#27729) - ⚠️ Breaking change:
hive.parquet.writer.block-size구성 속성을 제거하고, 대신parquet.writer.block-size를 사용하세요. (#27729) - ⚠️ Breaking change:
hive.parquet.writer.page-size구성 속성을 제거하고, 대신parquet.writer.page-size를 사용하세요. (#27729) - ⚠️ Breaking change: 더 이상 사용되지 않는
gcs.use-access-token구성 속성을 제거했어요. (#26941) - ⚠️ Breaking change:
hive.fs.new-file-inherit-ownership구성 속성을 제거했어요. (#28029) - Azure 파일 시스템을 사용할 때의 쿼리 실패와 증가된 지연을 수정했어요. (#28058)
- GCS에서 파일 경로에
#이 포함될 때의 실패를 수정했어요. (#28292)
Iceberg connector
- Iceberg REST 카탈로그에서 BigLake metastore 지원을 추가했어요. (#26219)
delete_after_commit_enabled와max_previous_versions테이블 속성을 추가했어요. (#14128)- Iceberg v3 테이블에서 컬럼 기본값 지원을 추가했어요. (#27837)
- Iceberg v3 테이블 생성·쓰기·삭제 지원을 추가했어요. (#27786, #27788)
- optimize, expire_snapshots, remove_orphan_files 테이블 프로시저에서 Iceberg v3 테이블 지원을 추가했어요. (#27836)
- Iceberg v3 행 라인리지(row lineage) 지원을 추가했어요. (#27836)
$manifests와$all_manifests메타데이터 테이블에content컬럼을 추가했어요. (#27975)ALTER ... SET DATA TYPE로 map과 array 중첩 타입을 변경하는 지원을 추가했어요. (#27998)number타입 컬럼으로 구체화 뷰를 만드는 지원을 추가했어요. (#28399)- 구체화 뷰를 새로고침할 때 사용하지 않는 파일을 정리하도록 했어요. (#28008)
- ⚠️ Breaking change:
hive.write-validation-threads구성 속성을 제거했어요. (#27729) - ⚠️ Breaking change:
parquet.optimized-writer.validation-percentage구성 속성을 제거하고, 대신parquet.writer.validation-percentage를 사용하세요. (#27729) - ⚠️ Breaking change:
hive.parquet.writer.block-size구성 속성을 제거하고, 대신parquet.writer.block-size를 사용하세요. (#27729) - ⚠️ Breaking change:
hive.parquet.writer.page-size구성 속성을 제거하고, 대신parquet.writer.page-size를 사용하세요. (#27729) - ⚠️ Breaking change: 더 이상 사용되지 않는
gcs.use-access-token구성 속성을 제거했어요. (#26941) - ⚠️ Breaking change:
hive.fs.new-file-inherit-ownership구성 속성을 제거했어요. (#28029) - ⚠️ Breaking change:
iceberg.extended-statistics.enabled구성 옵션과extended_statistics_enabled세션 속성 지원을 제거했어요. (#27914) - Parquet 파일에서 고카디널리티 컬럼에 대한 Bloom 필터의 효과를 개선했어요. (#27656)
- 최근(refresh) 구체화 뷰를 쿼리할 때 쿼리 성능을 개선했어요. (#27608)
- 파티션 필터가 사용될 때 optimize가 파티션 범위 동등성 삭제(equality delete) 파일을 정리하도록 개선했어요. (#28371)
- 파티션 필터를 적용하는 쿼리의 읽기 성능을 높이도록 optimize_manifests가 매니페스트를 파티션별로 클러스터링하도록 개선했어요. (#27358)
- 삭제 파일이 있는 테이블에 대한 쿼리 계획 시간을 줄였어요. (#27955)
- 단순한 FROM과 WHERE 절이 포함된 쿼리의 계획 시간을 줄였어요. (#27973)
- 큰 테이블에 대한 쿼리 계획 시간을 줄였어요. (#28068)
- REST 카탈로그가 제공하는 임시 GCS 자격 증명 지원을 추가했어요. (#24518)
- bucket 또는 truncate를 포함하는 스키마가 변경될 때
$files메타데이터 테이블을 읽을 때의 실패를 수정했어요. (#26109) - 동등성 삭제가 있는 테이블에서
$file_modified_time메타데이터 컬럼을 읽을 때의 실패를 수정했어요. (#27850) - 특정 드문 문자열 입력에서 Parquet 파일의 큰 푸터(footer)를 피하도록 했어요. (#27903)
- 메타데이터 컬럼에 조인이 있는 쿼리의 실패를 수정했어요. (#27984)
- Azure 파일 시스템을 사용할 때의 쿼리 실패와 증가된 지연을 수정했어요. (#28058)
- 버킷화·정렬된 테이블을 대상으로 하는
INSERT쿼리의 잘못된 메모리 회계를 수정했어요. (#28315) ALTER TABLE ... SET PROPERTIES로 파티션 스펙을 설정할 때 기존 파티션 컬럼을 실수로 제거하던 문제를 수정했어요. (#26492)write.parquet.compression-codec속성이 LZ4로 설정된 테이블에서 읽을 때의 실패를 수정했어요. (#28291)- Trino가 쓴
compression-codec테이블 속성 값이 Iceberg 스펙에 부합하도록 수정했어요. (#28293) - GCS에서 파일 경로에
#이 포함될 때의 실패를 수정했어요. (#28292) iceberg.jdbc-catalog.schema-version=V0인 테이블을 읽을 때의 실패를 수정했어요. (#28419)- 동등성 삭제가 많은 테이블에서 읽을 때 워커 크래시를 방지했어요. (#28468)
- 다른 파티셔닝 스키마로
CREATE OR REPLACE TABLE후$files테이블을 쿼리할 때의 실패를 수정했어요. (#25339)
Ignite connector
- 같은 테이블에 대한 이전
CREATE TABLE ... AS SELECT연산이 실패했을 때 테이블을 생성할 때의 실패를 수정했어요. (#27702)
Lakehouse connector
- Equality Delete 파일을 사용할 때 성능과 메모리 사용량을 개선했어요. (#28507)
- Iceberg
$files테이블을 읽을 때의 실패를 수정했어요. (#26751)
MariaDB connector
- p > 38일 때 MariaDB
DECIMAL(p, s)컬럼을 읽는 지원을 추가했어요. (#28744) - 같은 테이블에 대한 이전
CREATE TABLE ... AS SELECT연산이 실패했을 때 테이블을 생성할 때의 실패를 수정했어요. (#27702)
MySQL connector
- p > 38일 때 MySQL
DECIMAL(p, s)컬럼을 읽는 지원을 추가했어요. (#28744) - ⚠️ Breaking change: n > 1일 때 MySQL
BIT(n)컬럼을 읽는 잘못된 지원을 제거했어요. (#28744) - 같은 테이블에 대한 이전
CREATE TABLE ... AS SELECT연산이 실패했을 때 테이블을 생성할 때의 실패를 수정했어요. (#27702)
Oracle connector
oracle.connection-pool.wait-timeout카탈로그 속성으로 연결 대기 시간 제한을 구성하는 지원을 추가했어요. (#27744)- 모든 Oracle
NUMBER컬럼을 읽는 지원을 추가했어요. (#28747, #28401) - 같은 테이블에 대한 이전
CREATE TABLE ... AS SELECT연산이 실패했을 때 테이블을 생성할 때의 실패를 수정했어요. (#27702) - query 테이블 함수에서 float 타입을 읽을 때의 실패를 수정했어요. (#27880)
PostgreSQL connector
- 모든 PostgreSQL
NUMERIC과DECIMAL컬럼을 읽는 지원을 추가했어요. (#28141) - 같은 테이블에 대한 이전
CREATE TABLE ... AS SELECT연산이 실패했을 때 테이블을 생성할 때의 실패를 수정했어요. (#27702)
Redshift connector
- 같은 테이블에 대한 이전
CREATE TABLE ... AS SELECT연산이 실패했을 때 테이블을 생성할 때의 실패를 수정했어요. (#27702)
SingleStore connector
- n > 1일 때 SingleStore
BIT(n)컬럼을 읽는 잘못된 지원을 제거했어요. (#28744) - 같은 테이블에 대한 이전
CREATE TABLE ... AS SELECT연산이 실패했을 때 테이블을 생성할 때의 실패를 수정했어요. (#27702)
Snowflake connector
- 같은 테이블에 대한 이전
CREATE TABLE ... AS SELECT연산이 실패했을 때 테이블을 생성할 때의 실패를 수정했어요. (#27702)
SQL Server connector
- 같은 테이블에 대한 이전
CREATE TABLE ... AS SELECT연산이 실패했을 때 테이블을 생성할 때의 실패를 수정했어요. (#27702)
Vertica connector
- ⚠️ Breaking change: Vertica 커넥터를 제거했어요. (#26904)
SPI
TypeSignatureParameter지원을 제거하고TypeParameter를 사용하세요. (#27574)ParameterKind지원을 제거하고TypeParameter.Type,TypeParameter.Numeric,TypeParameter.Variable을 사용하세요. (#27574)NamedType,NamedTypeSignature,NamedTypeParameter지원을 제거하고TypeParameter.Type을 사용하세요. (#27574)MaterializedViewFreshness#getLastFreshTime을 더 이상 사용하지 않고, 대신getLastKnownFreshTime을 사용하세요. (#27803)ColumnMetadata.comment와ColumnMetadata.extraInfo를Optional<String>으로 변경했어요. (#28151)
더 알아보기 (Learn more)
다음 버전의 변경 사항은 Release 481에서 확인해 보세요.