KDB knowledge

Known limitations

This page lists what is missing, or works differently from QuestDB, in KDB 0.2.0-dev (September 2026). Please check again after you update KDB.

Problems found while writing this tutorial (all fixed)

Writing and running this tutorial found 12 bugs. All of them are fixed, and each one has a test now.

#WasNow
1count() without * crashed KDB (and the whole server over HTTP).count() is the same as count(*).
2WITH OFFSET '00:15' (no sign) failed when the query ran.Works; it means '+00:15'.
3time IN '2026-09+05:45' (a month or year with an offset) selected the wrong range.Selects exactly that month or year in that time zone.
4ADD COLUMN ... DEFAULT value: rows already in the table got NULL.They get the default value.
5kdb check right after a restore reported missing (previous) files.A restored database checks clean.
6After kdb repair --accept-log-loss, kdb check kept reporting the cut log forever.The cut is reported once, by the repair. Later checks are clean.
7On Windows, non-English text in command-line arguments became ?.Text in any language (for example Nepali) works in kdb sql market "...".
8A DECIMAL written as a number with 15+ digits was refused with a wrong message.Stored exactly up to about 15 digits; above that the message says to write it as text.
9PRIMARY KEY on a time-series table was checked only inside one partition.Refused when the table is created; use DEDUP KEY (..., time).
10Messages named port 9900 and "phase 3".Messages point to the running server's console or HTTP API.
11kdb info looked like a full damage check.kdb info says it shows the recorded status and to run kdb check.
12kdb shell ignored .help and other dot commands on the first line piped from PowerShell.The byte order mark PowerShell adds is skipped.

Not available yet

Connecting

SQL statements

Behaviour to know

PostgreSQL schema (chapter 22)

Analysis functions (chapter 19)

Users, passwords and security

Versions and upgrades (chapter 24)

Parts of this tutorial that were not run

Everything else in the tutorial was run and the output was copied from the run (see examples/verify.ps1). These parts were not run:

PartWhy
Build commands for Linux and macOS (chapter 1)The tutorial was written on Windows.
C# client (chapter 8)No .NET SDK on the test PC.
Register-ScheduledTask and cron lines (chapter 7)They would change the test PC. The backup script itself was run.
QuestDB /exp export commands (chapter 10)No QuestDB on the test PC. The sample CSV files were written by hand in QuestDB style.
kdb serve banner with port 9900 (quick start, chapter 6)Port 9900 was in use on the test PC; the banner was taken from a server on a test port, with only the port number changed.
Screen description of the web console (chapter 6)Checked by using the console in a browser against a test server; screenshots are not included.