| Configure / connect the client |
Building a createClient call, URL parameters, clickhouse_settings, default format, custom HTTP headers |
reference/client-configuration.md |
| Compress requests / responses |
compression, gzip vs zstd, { codec } option shape, Node version requirements, web limitations |
reference/compression.md |
| Ping the server |
Health checks, readiness probes, "is ClickHouse up?" |
reference/ping.md |
| Choose an insert format |
"Which format should I use to insert?", JSON vs raw, JSONEachRow vs JSON vs JSONObjectEachRow |
reference/insert-formats.md |
| Insert into a subset of columns / different database |
insert({ columns }), excluding columns, ephemeral columns, cross-DB inserts |
reference/insert-columns.md |
| Insert values, expressions, dates, decimals |
INSERT … VALUES with SQL functions, Date/DateTime from JS, Decimal precision, INSERT … SELECT; inserting a UUID into a UInt128 column is tricky — use when the user is writing code that stores a UUID as UInt128 |
reference/insert-values.md |
| Async inserts (server-side batching) |
async_insert=1, fire-and-forget vs wait-for-ack |
reference/async-insert.md |
| Select and parse results |
JSONEachRow reads, JSON with metadata, picking a select format |
reference/select-formats.md |
| Parameterize queries |
Binding values, special characters / escaping, "SQL injection?", {name: Type} syntax |
reference/query-parameters.md |
| Sessions & temporary tables |
session_id, CREATE TEMPORARY TABLE, per-session SET commands |
reference/sessions.md |
| Modern data types |
Dynamic, Variant, JSON (object), Time, Time64, QBit (vector search) |
reference/data-types.md |
| Custom JSON parse/stringify |
Plug in JSONBig / safe-stable-stringify / a BigInt-aware serializer |
reference/custom-json.md |