mailwal

PeachQ 0.89 - New External Tables, SQL & Kafka Support

Ryan Hamilton

0.89 Release

q compatibility reaches 89.0%.

  • External Tables in DuckDB: Run both qSQL and SQL on a DuckDB table
  • SQL with q values as parameters, from a handle, an s) line or a function.
  • Kafka: subscribe topics into q tables, keep bad messages, publish JSON or q IPC bytes.
  • .hash adds xxHash, rapidhash and MurmurHash3, agreeing with DuckDB's hash functions;
  • .crypto adds digests, HMAC and random bytes over the system's OpenSSL.
  • From the 0.88 updates since our last post: sum, avg, min, max and reverse of small vectors are about 100x faster per call (select sum w by k on 7.8M rows drops from 21 s to 1.8 s),
  • and HTTPS works on Windows with no setup, verifying against the system's root store.

External Tables - DuckDB

An external table is a q table whose data stays in DuckDB. qSQL and SQL both work on it, and writes such as inserts go through to DuckDB. That gives you DuckDB's SQL and its access to files over HTTPS and on S3, with the HTTP, AWS and DuckLake extensions bundled in the download.

Kafka topics into q table

A :pq:kafka: handle subscribes and publishes. .kafka.sub lands JSON messages in a q table, keeps bad messages with their offset and reason instead of dropping them, and can leave committing offsets to you. A topic reads like a table, and q can publish back as JSON or as q IPC bytes. The download with DuckDB carries librdkafka 2.12.1 beside q, so there is nothing to install.

Kafka shows two q processes and a Redpanda broker doing all of it in a three-pane recording

Five more languages talk to PeachQ

Built by the community, running on PeachQ

  • Node.js with jkdb 1.4.0 by Jo Shinonome. A Node relay subscribes to trades and pushes them to a browser page with live charts. Article
  • Go with kdbgo 0.20.0. Query live trades, subscribe to updates and send a table, against a server that ticks on its own timer. Article
  • Rust with kdbplus 0.3.8 on Tokio. A typed feed handler, a query and an async subscriber. Article
  • C# with CSharpKDB 1.7.0, KX's .NET client, on .NET 8. Feed, query and subscribe from one console project. Article
  • embedR 1.5.1, Send a q table to R, fit a model, call R functions with q arguments and draw a chart. embedR's own test script passes 285 of its 286 checks on PeachQ; the one failure depends on the installed R version. Article

Thanks for all your support over the years.

I hope you'll join us.
- Ryan Hamilton

Copyright © 2026 TimeStored, All rights reserved.
You are receiving this email from TimeStored.com as we really thought you would find it interesting.

Our mailing address is:
TimeStored
88-90 Hatton Garden, London, United Kingdom
London, LondonEC1N
United Kingdom