Start With Oliphaunt
Choose an Oliphaunt SDK, open an embedded PostgreSQL root, and run the first query.
Oliphaunt is embedded PostgreSQL for apps. Install the SDK for your app target, open a PostgreSQL root inside app-owned storage, run SQL, and select only the extensions your app ships.
This page is the shortest tutorial path. Pick one app target, prove the runtime with one query, then move into the SDK, runtime, extension, or storage page that matches the next decision.
Start In One App Target
Start in one app target
The first path is short: install, open, query, verify, then use the platform page for lifecycle, packaging, and data movement.
- 01
Pick the SDK
Choose the package for the app users install: Rust, Swift, Kotlin, React Native, TypeScript, WASM, or C ABI.
- 02
Install through the platform tool
Use Cargo, SwiftPM/Xcode, Gradle, npm, Expo, or the released C artifacts. Native apps rebuild when runtime assets or selected extensions change.
- 03
Open an app-owned root
Use persistent app storage for user data and a temporary root for tests. A root is a PostgreSQL directory managed through SDK APIs.
- 04
Run SQL and verify capabilities
Run
SELECT 1, readcapabilities(), and create only the extensions selected for the app artifact.
First Query Shape
Every SDK uses ecosystem-native syntax. The application flow stays the same: choose storage, select a runtime mode, select exact extensions, open, query, and close or detach through the SDK lifecycle.
First query shape
Same storage, mode, extension, query, and lifecycle path across SDK syntax.
- 01
Storage
- 02
Mode
- 03
Extensions
- 04
Query
- 05
Lifecycle
TypeScript
@oliphaunt/tsconst db = await Oliphaunt.open({
root: 'main.oliphaunt',
engine: 'nativeDirect',
extensions: ['vector'],
});
const rows = await db.query('select 1 as ready');
await db.close();Rust
oliphauntlet db = Oliphaunt::builder()
.root("main.oliphaunt")
.mode(RuntimeMode::NativeDirect)
.extension("vector")
.open()
.await?;
db.query("select 1 as ready").await?;
db.close().await?;Swift
Oliphauntlet db = try await Oliphaunt.open(
root: .appStorage("main.oliphaunt"),
mode: .nativeDirect,
extensions: ["vector"]
)
try await db.query("select 1 as ready")
try await db.close()Use the SDK page for your app target when you need platform setup, native build consequences, lifecycle hooks, extension artifacts, backup, restore, and troubleshooting.
After The First Query
Use these pages when the first runtime path works and the app needs the next production decision.
SDKs
Choose the platform guide
Install, build, query, lifecycle, extensions, backup, and troubleshooting for one SDK.
Native Runtime
Understand runtime modes
Direct, broker, server, WASM, root ownership, sessions, and process boundaries.
Extensions
Select extensions exactly
Choose SQL extension names and verify only selected files enter the app artifact.
Embedded PostgreSQL
Plan storage and backup
Use app-owned PostgreSQL roots, lifecycle APIs, backup, restore, and recovery behavior.