Tenants: Overview

Stable

What a tenant is in SPG99 and what role it plays in resource structure and access.

Updated: March 5, 2026

A tenant is the main user-facing container in SPG99. This is the level at which it is most convenient to separate projects, environments, and customers.

A tenant has:

  • a name;
  • an internal identifier;
  • a shared pg_user;
  • a shared pg_password;
  • a dsn_template;
  • a set of databases inside it.

Why this is needed

A tenant helps you avoid mixing into one pile:

  • production and test;
  • different teams;
  • different customers;
  • different applications.

What matters about access

  • an API key can be global, account-scoped, or tenant-scoped;
  • a tenant-scoped key can see only one tenant;
  • PostgreSQL credentials are issued at the tenant level and then used for all databases inside it.

What matters about connection

A tenant has a dsn_template of the following form:

postgres://<pg_user>:<pg_password>@<gateway-host>:5432/<db-name>?sslmode=require

This is the basic connection template for all databases in that tenant.

Practical conclusion

If you design your tenant structure well from the start, further work with Console, the API, and monitoring becomes much simpler.