Mac에서 Beancount 원장을 SQL로 쿼리
.beancount 파일을 열어 거래, 분개, 잔액과 메타데이터를 SQL 테이블로 쿼리하거나 rledger에 BQL을 보냅니다. 원장은 본인의 편집기로 수정하는 텍스트 파일로 유지됩니다.
Mac에서 사용 가능처음 Beancount을 선택하면 드라이버 다운로드


한눈에 보기
- 쿼리 언어
- SQL
- 드라이버
- 처음 사용할 때 다운로드
- 연결 방식
- 파일
- iPhone과 iPad
- 열리지 않음
원장 열기
TablePro는 rledger나 Python Beancount를 실행해 원장을 읽습니다. 선택한다면 rledger를 설치하세요. 둘 다 있으면 우선 사용하며 BQL 실행과 검증 결과를 diagnostics 테이블에 채우는 기능은 rledger만 제공합니다.
연결 양식의 Browse…로 파일을 선택합니다. 원장 경로가 연결의 전부이며 호스트, 포트, 비밀번호나 데이터베이스는 없습니다. .beancount는 Finder에서도 열리고 beancount:///path/to/main.beancount URL을 가져올 수 있습니다.
Finder에서 연 앱은 셸의 PATH를 상속하지 않습니다. Terminal에서만 백엔드가 작동한다면 launchctl setenv TABLEPRO_RUSTLEDGER_BINARY 또는 TABLEPRO_BEANCOUNT_PYTHON으로 지정하고 다시 실행하세요.
Python 백엔드는 Beancount에 포함된 플러그인을 실행하고 외부 코드인 다른 plugin 지시문은 연결에서 Run Ledger Plugins를 켜기 전까지 건너뜁니다. 건너뛴 플러그인은 diagnostics에 나열됩니다.
원장 쿼리
테이블에는 거래와 분개, 계정, 잔액과 잔액 검증, 가격과 상품, 기타 모든 지시문, 메타데이터, 태그·링크와 원본 파일이 포함됩니다. 분개는 transaction_id로 거래와 조인하며 계정은 이름으로 조인합니다.
금액은 산술, 원가와 가격이 계산된 기장 값으로 전달되며 분개 원가와 인라인 가격은 별도 열에 있습니다. 거래, 분개와 일부 지시문 테이블에는 main.beancount:42 같은 source_location이 있어 원본 줄을 찾을 수 있습니다.
쿼리 앞에 BQL:을 붙이면 테이블 대신 rledger로 보냅니다. BQL 결과는 탐색, 행 수와 페이지 처리를 지원하지만 SQL 매개변수는 지원하지 않습니다.
include는 명시 경로와 glob 모두 따라가며 모든 원장 파일과 참조 문서를 감시합니다. 편집기에서 저장하면 재연결 없이 다음 쿼리가 읽습니다. 연결은 항상 안전 모드 Read-Only이며 INSERT, UPDATE, DELETE와 스키마 변경을 거부합니다.
데이터 이동
테이블이나 쿼리 결과를 CSV, JSON, SQL, XLSX, Markdown, HTML 및 XML로 내보냅니다. TablePro가 데이터베이스로 여는 다른 파일에는 SQLite, DuckDB와 Parquet가 있습니다.
iPhone과 iPad
iPhone과 iPad 앱에는 Beancount 드라이버가 없습니다. Mac에서 동기화한 Beancount 연결은 목록에 표시되지만 열리지 않습니다.
제한 사항
- TablePro는 열 때 원장을 23개의 읽기 전용 SQL 테이블로 읽습니다. 원장에는 아무것도 다시 쓰지 않습니다.
- 이 Mac에 rledger 또는 Python beancount가 설치되어 있어야 합니다.
Beancount 관련 질문
오류가 있는 원장도 열 수 있나요?
rledger를 사용하면 가능합니다. 검증에 실패해도 원장은 테이블로 표시되며 각 문제는 파일, 줄, 심각도와 메시지가 있는 diagnostics 행입니다.
한 연결에서 여러 원장을 열 수 있나요?
한 연결은 원장 파일 하나이며 전환은 없습니다. 다른 파일을 include하는 주 파일이면 glob을 포함해 모두 불러옵니다.
TablePro 다운로드
macOS 13 Ventura 이상 필요