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) 문서를 살펴보면 좋아요.