QuestDB - Client Library for Rust, C and C++
This library makes it easy to insert data into QuestDB.
This client library implements the InfluxDB Line Protocol (ILP) over HTTP and TCP.
Inserting data into QuestDB can be done in several ways.
This library supports ILP/HTTP (default-recommended) and ILP/TCP (specific streaming use cases).
Protocol | Record Insertion Reporting | Data Insertion Performance |
---|---|---|
ILP/HTTP | Transaction-level (on flush) | Excellent |
ILP/TCP | Errors in logs; Disconnect on error | Best (tolerates higher-latency networks) |
CSV Upload via HTTP | Configurable | Very Good |
PostgreSQL | Transaction-level | Good |
Server errors are only reported back to the client for ILP/HTTP. See the flush troubleshooting docs for more details on how to debug ILP/TCP.
For an overview and code examples, see the Ingestion overview page of the developer docs.
To understand the protocol in more depth, consult the protocol reference docs.
To get started, read the language-specific guides.
C
C++
Rust
questdb-rs
crate on crates.ioquestdb-rs
source codequestdb-rs-ffi
source code - C bindings codePython
If you need help, have additional questions or want to provide feedback, you may find us on our Community Forum.
You can also sign up to our mailing list to get notified of new releases.
The code is released under the Apache License.