본문 바로가기
WIKI 기술 지식 베이스

커맨드라인 옵션

원문 보기 위키 갱신

tursodb 명령의 CLI 플래그, 인자, 서버 모드를 정리한 문서예요. 옵션 하나하나 어떤 역할을 하는지 차근차근 살펴볼게요.

출처: 문서

본문

tursodb [OPTIONS] [DATABASE] [SQL]

Arguments

Argument Default Description
DATABASE :memory: SQLite 데이터베이스 파일 경로. 생략하면 인메모리 데이터베이스가 만들어져요
SQL — 실행할 SQL 문. 주면 셸이 쿼리를 실행하고 종료해요

Examples

# In-memory database
tursodb

# Open an existing file
tursodb customers.db

# Run a query and exit
tursodb customers.db "SELECT count(*) FROM orders;"

# Pipe SQL from stdin
echo "SELECT 1 + 1;" | tursodb -q

Options

-m, --output-mode <MODE>

출력 표시 형식을 지정해요.

Mode Description
pretty 테두리 있는 테이블 (기본값)
list 파이프로 구분된 값
line 컬럼 이름과 함께 한 줄에 한 컬럼씩
tursodb -m list mydata.db "SELECT * FROM users;"

-o, --output <PATH>

stdout 대신 쿼리 출력을 파일로 리다이렉트해요.

tursodb -o results.txt mydata.db "SELECT * FROM users;"

-q, --quiet

시작 배너와 버전 정보를 출력하지 않아요.

tursodb -q mydata.db

-e, --echo

각 SQL 문을 실행하기 전에 출력해요. 스크립트 디버깅에 유용해요.

echo "SELECT 42;" | tursodb -q -e
SELECT 42;
42

-v, --vfs <VFS>

Virtual File System 백엔드를 선택해요.

VFS Description
syscall 표준 OS 파일 I/O (기본값)
memory 인메모리 저장소
io_uring Linux io_uring (피처 플래그 필요)
tursodb -v memory

-t, --tracing-output <PATH>

내부 로그 트레이스를 파일에 기록해요. 디버깅과 성능 분석에 유용해요.

tursodb -t trace.log mydata.db

--readonly

데이터베이스를 읽기 전용 모드로 열어요. 쓰기 작업은 오류를 반환해요.

tursodb --readonly production.db "SELECT count(*) FROM users;"

읽기 전용 모드에서 쓰기를 시도하면:

tursodb --readonly production.db "INSERT INTO users VALUES (1, 'test');"
# Error: Resource is read-only

--mcp

인터랙티브 셸 대신 Model Context Protocol 서버를 시작해요. AI 어시스턴트와 다른 MCP 클라이언트가 JSON-RPC로 데이터베이스와 상호작용할 수 있게 해줘요.

tursodb --mcp mydata.db

--sync-server <ADDRESS>

데이터베이스 복제를 위한 sync 서버를 시작하고, 지정한 주소에서 대기해요.

tursodb --sync-server 0.0.0.0:8080 mydata.db

Experimental Feature Flags

아직 개발 중인 기능을 켜는 플래그들이에요. 이후 릴리스에서 바뀌거나 제거될 수 있어요.

실험적 기능은 구현이 불완전하거나 알려진 제한이 있을 수 있어요. 테스트와 개발에만 사용하세요.

Flag Description
--experimental-views 뷰 활성화 (CREATE VIEW / CREATE MATERIALIZED VIEW)
--experimental-custom-types 커스텀 타입 활성화 (CREATE TYPE / DROP TYPE / CREATE DOMAIN / DROP DOMAIN)
--experimental-encryption 저장 시 데이터베이스 암호화 활성화
--experimental-index-method 커스텀 인덱스 메서드 활성화. FTS와 sparse vector 인덱스에 필요해요
--experimental-autovacuum 자동 데이터베이스 vacuuming 활성화
--experimental-vacuum 제자리 VACUUM 활성화
--experimental-attach ATTACH DATABASE / DETACH DATABASE 활성화
--experimental-generated-columns 가상 GENERATED ALWAYS AS 컬럼 활성화
--experimental-without-rowid WITHOUT ROWID 테이블 활성화
--experimental-multiprocess-wal 공유 WAL 코디네이터로 프로세스 간 데이터베이스 공유 활성화
--experimental-mvcc-passive-checkpoint MVCC 아래 passive checkpointing 활성화 (journal_mode=mvcc)

참고로, 트리거(CREATE TRIGGER / DROP TRIGGER)는 Turso 0.7부터 안정(stable)이라 더 이상 플래그가 필요 없어요.

# Enable views, custom types, and in-place VACUUM
tursodb --experimental-views --experimental-custom-types --experimental-vacuum mydata.db

Other Flags

Flag Description
--mvcc 일반 셸 대신 MVCC 동시 트랜잭션 하네스를 시작해요
--unsafe-testing 안전하지 않은 테스트 기능을 활성화해요 (예: sqlite_dbpage 쓰기)
-h, --help 사용법 도움말을 출력해요
-V, --version 버전 정보를 출력해요

더 알아보기 (Learn more)