> ## Documentation Index
> Fetch the complete documentation index at: https://docs.argalabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PostgreSQL

> PostgreSQL Scenario seeding parameters, nested fields, and examples

Use `postgres` in `twins` and put this configuration under `seed_config.postgres`.

Postgres data-plane twin with deterministic SQL seed statements for the app's mirrored local schema.

## Example seed

This is the complete Scenario request body for [creating a Scenario](https://docs.argalabs.com/api-reference/post-create-a-scenario.md). You can also import it with `arga test-runner scenarios import --file scenario.json`.

```json theme={null}
{
  "name": "PostgreSQL eval fixture",
  "twins": [
    "postgres"
  ],
  "seed_config": {
    "postgres": {
      "sql": [
        "INSERT INTO users (id, email) VALUES ('00000000-0000-0000-0000-000000000001', 'alice@example.com')",
        "INSERT INTO orders (id, user_email, amount) VALUES (1, 'alice@example.com', 100)"
      ]
    }
  }
}
```

## Parameters

The following fields belong directly inside `seed_config.postgres`. Required nested fields are marked in their tables. Provider-native objects can contain service-specific fields beyond the representative record shapes below.

| Parameter | Type | Description |
| - | - | - |
| `sql` | `string[]` | SQL statements applied in order to the twin data plane. |

## Seeding behavior

Supply `sql` as an ordered array of SQL statements. Statements apply to the twin data plane; the database schema and data are reset for replay.

See [Scenario seeding](https://docs.argalabs.com/twins/seeding.md) for saving, provisioning, and resetting fixtures.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.