Postgres you can clone and reset.

Kiln runs Postgres 16 as a managed appliance. Build a template from your fixtures once, then clone a database for each run and reset it between tests.

kiln appliance postgres clone db runtime-1 --source fixture-v1

One template, and a clone for every run.

You give each template a fingerprint. Ask for the same template with the same fingerprint and Kiln reuses the one it has. A different fingerprint is a conflict, and Kiln keeps the template until you replace it.

  1. kiln appliance postgres template db fixture-v1 --fingerprint <hash>

    Creates the template, or reuses the one that already has this fingerprint.

  2. kiln appliance postgres clone db runtime-1 --source fixture-v1

    Clones a runtime database and returns its connection details.

  3. kiln appliance postgres reset db runtime-1 --source fixture-v1

    Puts the clone back to the template's state.

  4. kiln appliance postgres drop db runtime-1

    Drops a clone you no longer need.

Kiln hands back the connection details.

Each operation returns connection details scoped to that database. Your client never builds a URL by hand or runs provider SQL.

Output is safe to print by default. Passwords, tokens and credential URLs stay redacted until you pass --show-secrets.

kiln appliance get db kiln appliance connection db --field runtime_url --show-secrets