커맨드라인 옵션
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 |
버전 정보를 출력해요 |