Managed databases — NuPaaS Docs
Databases & storage

Managed databases

NuPaaS provisions and operates database instances for your organization. Databases are org-scoped and can optionally be associated with a project.

Engines and plans

One engine can be provisioned:

ParameterTypeDescription
postgresengineExtensions, read replicas, point-in-time restore, metrics and an auto-generated API.

Each instance carries a plan — starter, standard or production — and optionally a resource preset of t1.micro, t1.small or m1.medium. The plan can be changed later.

Creating a database

Create databases from /orgs/<org>/databases, or from the CLI:

Manage databases
platform db list
platform db create --name analytics --engine postgres
platform db credentials --id <databaseId>
platform db delete --id <databaseId>

You may also pass a map of PostgreSQL parameters at creation time to tune the instance.

Connecting

Requesting credentials returns everything needed to connect: host, port, username, password, database name and a ready-made connection string. They also return a separate read host, so you can direct read traffic at a replica.

To wire a database into a running service without handling the password yourself, attach it: the platform materialises the connection URL as a secret-backed environment variable on that service. It refuses to overwrite a variable of the same name that you defined yourself.

The detail page

A database's page at /orgs/<org>/databases/<slug> is organised into tabs:

ParameterTypeDescription
ConnectionstabHost, port, credentials and copyable connection strings.
BackupstabRead-only list of the most recent backups with type, size and status.
PlantabThe plan the instance runs on.
ExtensionstabEnable and disable supported PostgreSQL extensions.
Read ReplicastabList, create and delete replicas.
PITR RestoretabRestore the instance to a chosen point in time.
MetricstabLive instance metrics, refreshed while the tab is visible.
Auto APItabToggle the auto-generated REST API over your schema.

A Trigger backup action sits in the page header. It is enabled only while the instance is in the ready state.

PostgreSQL extensions

Eight extensions can be enabled from the Extensions tab:

pgvector, postgis, pg_cron, pg_stat_statements, uuid-ossp, hstore, ltree and citext.

Each entry reports whether enabling it requires a restart, so you can schedule the ones that do.

Read replicas

Replicas come in two kinds and both serve reads through the same endpoint:

  • HA standby — created as part of the plan's baseline, not by you. Only the m1.medium plan has a baseline standby. It runs three instances. The t1.micro and t1.small plans run one instance each, so they have no standby.
  • Read replica — created by you, individually addressable, and returned with its own read-only connection string.

Metrics

The Metrics tab reports five values, polled while the tab is open:

ParameterTypeDescription
activeConnectionsnumberConnections currently open.
queriesPerSecnumberQuery throughput.
cacheHitRationumberBuffer cache hit ratio.
walLagnumber | nullReplication lag between the primary and a standby. Null when the instance has no standby.
storageUsednumberStorage consumed by the instance.

Available through the API only

Three capabilities are fully implemented but have no control in the panel today. They are reachable through the API:

ParameterTypeDescription
Clone a databaseAPI onlyCreate a new instance from an existing one, given the source id and a new name.
Create an on-demand backup recordAPI onlyPostgreSQL only. The panel's header action triggers a backup; the separate operation that returns a backup id is not surfaced.
Rotate credentialsAPI onlyStarts a rotation job and returns its id.

Upgrading a plan

Changing an instance's plan is an API operation that optionally also sets backup retention for that database, clamped to between 1 and 365 days.

Deleting a database

Deleting an instance is irreversible and the CLI asks for confirmation before proceeding.

platform db delete --id <databaseId>