Runtime support
Compare storage, concurrency, backup, and tool support across Oliphaunt SDKs.
The SDKs share PostgreSQL semantics but differ in runtime integration. Use this table to check a requirement before choosing a package.
| Capability | Native SDKs | WASIX Rust | WASIX TypeScript |
|---|---|---|---|
| Default storage | Temporary directory | Memory filesystem | Memory filesystem |
| Persistent storage | Directory or application-data name, depending on SDK and mode | Managed directory | IndexedDB/OPFS in browsers; directory on desktop |
| Parameterized queries | Yes | Yes | Yes |
| Callback transactions | Yes | Yes | Yes |
| Raw response streaming | Yes | Yes | Yes |
| Direct-query cancellation | Yes | No public API | No public API |
| Physical backup and restore | Direct and broker handles | Yes | Yes; restore to persistent storage |
| Broker process | Rust, desktop TypeScript, iOS 26+, and Android | No | No |
| Local PostgreSQL endpoint | Rust and desktop TypeScript | One connected client | Desktop /server, one connected client |
| Independent client sessions | Native server only | No | No |
| Logical dump and SQL import | Optional endpoint tools | Optional tools feature | Optional tools package |
The C ABI is a low-level binding interface and does not expose every high-level SDK helper. See its API reference.
Supported native platforms
| Platform | Requirements |
|---|---|
| Linux x64/arm64 GNU | Provides binaries requiring at most GLIBC_2.38 or GLIBCXX_3.4.30. |
| Direct macOS arm64 runtime | Requires macOS 11.0. |
Android arm64-v8a and x86_64 | Minimum Android API level is 24. |
| Apple XCFramework | Contains macOS arm64, iOS device arm64, and iOS Simulator arm64 slices; minimum targets are macOS 14.0, iOS 17.0, and iOS Simulator 17.0. |
| Windows x64 MSVC | Ships with its required Visual C++ runtime libraries. Windows ARM64 is unavailable. |
These are the runtime package requirements. Your language runtime or app framework may impose a higher minimum. Use the SDK quickstarts for integration requirements.
Query and transaction behavior
Typed query methods buffer their results. Raw response streaming is a PostgreSQL protocol interface, not a typed row stream or dedicated COPY reader/writer. Use it only when implementing a protocol-aware integration.
Async APIs keep the calling application responsive; they do not give a single embedded database multiple concurrent sessions. Use the native server with a PostgreSQL driver for independent sessions.
PostgreSQL tools
Native Rust and desktop TypeScript use the optional oliphaunt-tools or @oliphaunt/tools packages with a server connection string.
WASIX Rust enables pg_dump and non-interactive psql with its tools Cargo feature. WASIX TypeScript uses @oliphaunt/wasix-tools: pgDump supports root, direct, and Worker handles; psql supports desktop placements and browser Worker handles. Browsers cannot open TCP listeners.
Data movement
Physical backups require a compatible runtime within the same family. Use logical PostgreSQL dump/restore to move between native and WASIX. Install required extensions on the destination before importing data that depends on them.
For persistence and packaging examples, use your SDK guide. For mobile lifecycle decisions, see Ship a mobile database.