SQLite

SQLite is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine.

About

SQLite is a software library that provides a relational database management system. The lite in SQLite means lightweight in terms of setup, database administration, and required resources.

SQLite has the following notable characteristics:

  • Self-contained with no external dependencies
  • Serverless - the SQLite library accesses its storage files directly
  • Single database file that can be easily copied or moved
  • Zero-configuration - no setup or administration needed
  • Transactional with ACID properties

Requirements

Database File

You need a SQLite database file. This can be:

  • An existing database file
  • A path where a new database file should be created
  • :memory: for an in-memory database

Example

sources:
    my-sqlite-db:
        kind: "sqlite"
        database: "/path/to/database.db"

For an in-memory database:

sources:
    my-sqlite-memory-db:
        kind: "sqlite"
        database: ":memory:"

Reference

Configuration Fields

FieldTypeRequiredDescription
kindstringYesMust be “sqlite”
databasestringYesPath to SQLite database file, or “:memory:” for an in-memory database

Connection Properties

SQLite connections are configured with these defaults for optimal performance:

  • MaxOpenConns: 1 (SQLite only supports one writer at a time)
  • MaxIdleConns: 1
Last modified April 23, 2025: feat: sqlite implementation (#438) (fc14cbfd)