Create a Database

Stable

How to create a database in SPG99, which size to choose, and why compute does not need to start immediately.

Updated: March 21, 2026

When you create a database in SPG99, you define a logical database inside a tenant and choose its user-facing resource class.

What is set on creation

At minimum, you usually need:

  • name;
  • size.

Example through the API:

{
  "name": "app",
  "size": "L1"
}

What matters about compute startup

In the current managed contract, the public create scenario does not assume a manual immediate compute start.

That is why:

  • start_immediately is disabled;
  • initial_scale must remain 0;
  • after creation, the database may remain in stopped until the first connection through Gateway.

This is a normal and useful model:

  • the database is created faster;
  • resources are not consumed in advance;
  • the durable storage binding is created immediately, while the writer is started only when real work begins.

What matters about size today

The user-facing product model is already prepared for the L1–L5 line, but in the current active autoscale contract, writer handoff works for L1/L2.

In practice, this means:

  • you can design naming and product expectations around L1–L5;
  • for the actual current autoscale runtime, you should assume L1/L2.

What happens after create

Immediately after creation, it is useful to inspect:

  • state;
  • size;
  • current_scale / target_scale;
  • current_profile, if the field is already returned;
  • tenant credentials and the DSN.

Practical conclusion

In SPG99, creating a database is primarily about preparing the logical resource and the durable storage binding. Starting the writer is the next stage, and in the normal user scenario it happens automatically on the first connection.