Skip to contents

The calling process owns the database and must stay alive. Quack answers SQL on its own server threads; handlers run in clients. Put non-local endpoints behind authenticated, TLS-terminating ingress. With extension = NULL the preinstalled quack extension is loaded from DuckDB's shared home; a path loads that build into session-private storage.

Usage

ca_serve(
  path,
  uri = "quack:127.0.0.1:9494",
  token,
  extension = NULL,
  allow_unsigned_extensions = FALSE
)

Arguments

path

DuckDB database path, or ":memory:".

uri

Quack endpoint, including a port when not using the default.

token

Shared authentication token. Quack currently requires at least four characters. A holder can run any SQL, including file access, with the server process's privileges; give it only to trusted workers and services.

extension

Optional path to a compatible signed Quack extension. NULL loads an explicitly preinstalled quack extension.

allow_unsigned_extensions

Development-only opt-in for loading an unsigned build of the native coordinator. It lets any SQL on this database load arbitrary native code into the owning process. On a served database, that includes every Quack token holder. Leave it FALSE in deployments.

Value

A local S7 CanardConnection handle owning the server.