6个版本 (3个重大更改)
0.4.1 | 2024年3月8日 |
---|---|
0.4.0 | 2024年3月8日 |
0.3.0 | 2024年3月7日 |
0.2.1 | 2024年3月7日 |
0.1.0 | 2024年2月20日 |
#765 在 数据库接口 中
每月 198 次下载
16KB
287 代码行
sqlite-http
SQLite的HTTP接口。与Litestream配合良好,用于备份/复制。
安装
cargo install sqlite-http
> sqlite-http --help
An HTTP interface for SQLite.
Usage: sqlite-http [OPTIONS] --host <HOST> --db-path <DB_PATH>
Options:
--host <HOST>
The host to bind to
--db-path <DB_PATH>
The path to the database file
--collect-metadata
Enable metadata collection about incoming queries
--disable-wal-mode
Disable Write-Ahead-Logging mode. Enabled by default
--disable-foreign-keys
Don't enforce foreign key constraints. Enforced by default
--load-extension <LOAD_EXTENSION>
Load an extension from the provided path. This flag can be used multiple times in one invocation to load multiple extensions
-h, --help
Print help
-V, --version
Print version
示例
基本示例
sqlite-http --host 127.0.0.1:8080 --db-path ./example.db
仅接收sqlite-http的日志
SQLITE_HTTP_LOG=off,sqlite_http=trace sqlite-http --host 127.0.0.1:8080 --db-path ./example.db
使用litestream进行复制(现有配置假定已运行本地MinIO实例)
litestream replicate -config ./etc/litestream.yml
使用litestream进行恢复(现有配置假定已运行本地MinIO实例)
litestream restore -config ./etc/litestream.yml -replica "S3 Backup" ./example.db
用法
发送此内容
{
"sql" "INSERT INTO my_table (str_col, bool_col, blob_col, real_col) VALUES (?, ?, ?, ?)",
"args": ["column 1", true, "03", 4]
}
获取此内容
{
"rows": []
}
发送此内容
{
"sql" "SELECT * FROM my_table",
"args": []
}
获取此内容
{
rows: [
["column 1", true, "03", 4]
]
}
收集元数据
使用 --collect-metadata
标志创建一个 __metadata_query
表,这可能有助于调试和性能监控。其模式如下,并且可以像其他表一样进行查询。
列 | 类型 |
---|---|
id | INTEGER |
payload | TEXT |
started_at | TEXT |
finished_at | TEXT |
依赖关系
~32–43MB
~706K SLoC