SQL 문장 지원
SQL 문장 지원 (SQL statement support)
Trino가 지원하는 SQL 문장을 주제별로 정리한 레퍼런스예요. 어떤 문장은 코어 엔진에 포함되어 어디서나 쓸 수 있지만, 일부 문장은 데이터 소스의 특성에 따라 지원 여부가 달라져요.
출처: 문서
본문
Trino의 SQL 문장 지원은 여러 주제로 나눌 수 있어요. 많은 문장이 코어 엔진의 일부라 어떤 사용 사례에서든 사용 가능해요. 예를 들어 세션 프로퍼티를 설정하거나, explain 계획을 확인하고, 전역 사용 가능한 문장으로 다른 작업을 수행할 수 있어요.
하지만 연결된 데이터 소스의 세부 사항과 아키텍처가 일부 SQL 기능을 제한할 수 있어요. 예를 들어 데이터 소스가 어떤 쓰기(write) 작업도 지원하지 않는다면, 그 데이터 소스에 대해 DELETE 문장을 실행할 수 없어요.
마찬가지로, 기반 시스템에 보안 개념이 없다면 CREATE ROLE 같은 SQL 문장은 Trino와 커넥터에서 지원할 수 없어요.
이 주제들의 범주는 읽기 작업(read operations), 쓰기 작업(write operations), 보안 작업(security operations), 트랜잭션(transactions)과 관련돼 있어요. 특정 문장 지원에 대한 세부 사항은 각 커넥터 문서에 있어요.
전역 사용 가능 문장 (Globally available statements)
다음 문장들은 코어 엔진에 구현되어 어떤 커넥터에서든 사용할 수 있어요:
- CALL
- DEALLOCATE PREPARE
- DESCRIBE INPUT
- DESCRIBE OUTPUT
- EXECUTE
- EXECUTE IMMEDIATE
- EXPLAIN
- EXPLAIN ANALYZE
- PREPARE
- RESET SESSION
- SET SESSION
- SET TIME ZONE
- SHOW FUNCTIONS
- SHOW SESSION
- USE
- VALUES
카탈로그 관리 (Catalog management)
다음 문장들은 동적 카탈로그(dynamic catalogs)를 관리하는 데 쓰여요:
- CREATE CATALOG
- DROP CATALOG
읽기 작업 (Read operations)
다음 문장들은 데이터 소스에 접근하는 커넥터가 노출하는 데이터와 메타데이터에 대한 읽기 접근을 제공해요. 모든 커넥터가 지원해요:
- SELECT(MATCH_RECOGNIZE와 PIVOT 포함)
- DESCRIBE
- SHOW CATALOGS
- SHOW COLUMNS
- SHOW CREATE MATERIALIZED VIEW
- SHOW CREATE SCHEMA
- SHOW CREATE TABLE
- SHOW CREATE VIEW
- SHOW GRANTS
- SHOW ROLES
- SHOW SCHEMAS
- SHOW TABLES
- SHOW STATS
쓰기 작업 (Write operations)
다음 문장들은 데이터 소스에 접근하는 커넥터가 노출하는 데이터와 메타데이터에 대한 쓰기 접근을 제공해요. 커넥터마다 지원 여부가 크게 달라져요.
데이터 관리 (Data management)
- INSERT
- UPDATE
- DELETE
- TRUNCATE
- MERGE
스키마·테이블 관리 (Schema and table management)
- CREATE TABLE
- CREATE TABLE AS
- DROP TABLE
- ALTER TABLE
- CREATE SCHEMA
- DROP SCHEMA
- ALTER SCHEMA
- COMMENT
뷰 관리 (View management)
- CREATE VIEW
- DROP VIEW
- ALTER VIEW
구체화된 뷰 관리 (Materialized view management)
- CREATE MATERIALIZED VIEW
- ALTER MATERIALIZED VIEW
- DROP MATERIALIZED VIEW
- REFRESH MATERIALIZED VIEW
사용자 정의 함수 관리 (User-defined function management)
다음 문장들은 카탈로그 사용자 정의 함수(Catalog user-defined functions)를 관리하는 데 쓰여요:
- CREATE FUNCTION
- DROP FUNCTION
- SHOW FUNCTIONS
보안 작업 (Security operations)
다음 문장들은 데이터 소스에 접근하는 커넥터가 노출하는 보안 설정·데이터·메타데이터에 대한 보안 관련 작업을 제공해요. 대부분의 커넥터는 이 작업을 지원하지 않아요.
커넥터 역할 (Connector roles):
- CREATE ROLE
- DROP ROLE
- GRANT role
- REVOKE role
- SET ROLE
- SHOW ROLE GRANTS
권한 관리 (Grants management):
- DENY
- GRANT privilege
- REVOKE privilege
트랜잭션 (Transactions)
다음 문장들은 트랜잭션을 관리해요. 대부분의 커넥터는 트랜잭션을 지원하지 않아요:
- START TRANSACTION
- COMMIT
- ROLLBACK
더 알아보기 (Learn more)
어떤 SQL 문장을 쓸 수 있는지 파악했어요. 이어서 각 데이터 타입을 다루는 데이터 타입(Data types) 문서를 살펴보면 좋아요.