SQLite가 2026년 10월 9일 공개한 3.54.0은 대화형 명령줄 도구인 CLI의 프롬프트를 확장했다. 입력을 기다리는 표시줄에서 데이터베이스 이름과 열린 트랜잭션 상태를 확인하고, 입력이 덜 끝났을 때 필요한 마무리 문자도 볼 수 있게 됐다.

기존의 고정 프롬프트인 sqlite>와 ...>는 현재 데이터베이스나 트랜잭션 상태를 표시하지 않았다. 트랜잭션은 여러 작업을 한 묶음으로 확정(커밋)하거나 취소하는 처리 단위이며, 열려 있다는 것은 그 묶음이 아직 끝나지 않았다는 뜻이다. 새 기능은 SQL의 동작을 바꾸는 대신, 입력하는 자리에서 이런 상태를 드러내는 데 초점을 맞춘다.

파일명과 트랜잭션 상태를 담는 표시 규칙

프롬프트 문자열에는 현재 상태에 따라 내용이 바뀌는 이스케이프 코드를 넣을 수 있다. 시작 문자는 역슬래시가 아니라 슬래시 /다. /f는 경로를 뺀 데이터베이스 파일명을 표시하며, 메모리 데이터베이스에서는 memory로 표시된다.

/x 뒤의 텍스트는 트랜잭션이 열려 있을 때만 나타난다. /: 뒤에는 그렇지 않을 때의 텍스트를 두고, /;로 조건 구간을 끝낸다. 따라서 색을 쓰지 않고도 별표 같은 문자로 열린 트랜잭션을 구분할 수 있다.

SQLITE_PS2는 세미콜론 누락처럼 입력이 끝나지 않았을 때 쓰는 후속 프롬프트다. 여기서만 작동하는 /C는 현재 명령을 닫고 기본 프롬프트로 돌아가는 데 필요한 최소 문자열을 보여준다. 문자를 대신 입력하거나 명령을 실행하지는 않는다.

시작 환경과 .prompt로 바꾸는 표시

시작 시 SQLITE_PS1과 SQLITE_PS2 환경 변수가 있으면 각각 기본 프롬프트와 후속 프롬프트의 컴파일 시 기본값보다 우선한다. 실행 중에는 .prompt에 문자열 두 개를 전달해 둘 다 바꾸거나, 하나만 전달해 기본 프롬프트만 바꿀 수 있다.

색상은 .prompt --no-color나 비어 있지 않은 NO_COLOR 환경 변수로 끌 수 있다. 다만 색만으로 트랜잭션을 구분하는 설정이라면 색을 끌 때 그 구분도 사라진다. 사용자 설정과 컴파일 시 기본값에 따라 실제 모양은 달라질 수 있다.

이 설명은 공식 릴리스 노트와 프롬프트 문서에 근거한다. 프롬프트 문서의 2026년 10월 5일 표기는 최종 수정일이며, 릴리스 날짜와는 다르다. 실행 파일을 구동하거나 사용성 효과를 측정한 결과가 아니므로, 실수 감소나 작업 속도 향상으로 해석할 근거는 없다.

/x가 알려주는 것은 트랜잭션이 열려 있다는 상태다. 커밋 성공이나 데이터의 영구 저장을 보증하지 않는다. /C 역시 입력을 끝내는 힌트이지, 작성 의도에 맞는 SQL인지 검증하는 기능은 아니다.

이 기능의 지원 범위는 SQLite 3.54.0부터의 CLI다. 구형 실행 파일이나 GUI 도구, SQLite 라이브러리를 내장한 애플리케이션까지 같은 표시를 제공한다고 볼 수는 없다.

현재 설정과 색상 없는 표시 확인

SQLite 3.54.0 CLI의 대화형 세션에서는 다음 명령으로 현재 프롬프트 문자열을 확인하고 색상을 끌 수 있다. 독자가 실행할 확인 절차이며, 모든 상태 전환을 검증하는 시험은 아니다.

.prompt --show
.prompt --no-color

실무에서 살펴볼 지점은 화려한 색상보다 현재 설정이 어떤 상태를 드러내는가다. 색을 끄는 것과 별표 같은 상태 표시를 남기는 것은 별개의 설정이다. 따라서 프롬프트 문자열 확인은 모양뿐 아니라 어떤 정보가 남는지를 살펴보는 출발점이 된다.

SQLite 3.54.0의 프롬프트는 현재 상태와 입력의 끝을 더 잘 드러내지만, SQL의 올바름이나 트랜잭션의 성공을 보증하는 장치는 아니다.