DOCUMENTATION / REFERENCE

Framework capabilities and boundaries

This page explains practical choices you may encounter while building an application.

Choose the right database

  • SQLite: local files, simple deployment, small applications.
  • PostgreSQL: relational applications requiring concurrent writes, transactions and rich SQL.
  • MySQL: applications using MySQL-compatible database infrastructure.

The PostgreSQL and MySQL chapters include connection code. The SQLite chapter begins with creating tables and queries.

Connection-pool behavior

The public pooled-transaction API supports a capacity between 1 and 16 and up to three string-bound parameters through query1, query2 and query3.

var lease = db.acquire(timeout_ms=3000)
var result = lease.query1("SELECT $1::text", "Hello")
lease.release()

A lease stays on its acquiring thread. Close the pool after all leases have been returned.

Native dependencies

Some functionality uses C libraries such as PostgreSQL libpq and the MySQL client library. Native libraries must match the deployment platform and be available at runtime.

Application shutdown

Use a process supervisor and readiness checks when deploying services that must handle traffic continuously. Review Lifecycle for the sequence.

Next steps

Choose a small exercise: Hello World, Form validation, JSON API or Database tutorial.