Skip to content

PostgreSQL

Available

Runsite Platform provides fully managed PostgreSQL — provisioned in seconds, with automatic backups, point-in-time recovery and both private and public connection URLs.

PostgreSQL 14, 15, 16 (default) and 17.

You can pick the major version at creation time. Minor version updates are applied automatically during scheduled maintenance windows.

POST /api/databases
Content-Type: application/json
{
"name": "production-db",
"postgres_version": "16",
"storage_gb": 10
}

The response includes the credentials and both connection URLs — copy the secret immediately, it is shown only once.

Every database exposes two connection URLs:

URLWhen to use it
InternalFrom other Runsite services in the same project. Traffic stays on the private network — no public exposure, lower latency.
ExternalFrom anywhere on the internet. Encrypted with TLS. Use this for local development, third-party tools or services that run outside Runsite.

Both URLs are standard PostgreSQL connection strings:

postgres://user:password@host:5432/dbname

You can find them on the database detail page, in the Connect tab.

Inside another Runsite service in the same project, reference the internal URL:

Terminal window
DATABASE_URL=postgres://user:password@db-internal.runsite.local:5432/dbname

Set it as an environment variable in your web service settings, and your app reads it normally.

Use the external URL with the psql CLI:

Terminal window
psql "postgres://user:password@db.runsite.app:5432/dbname"
OperationEndpoint
StartPOST /api/databases/{id}/start
StopPOST /api/databases/{id}/stop
StatusGET /api/databases/{id}/status
UpdatePATCH /api/databases/{id}
DeleteDELETE /api/databases/{id}

Stopping a database releases its compute. Storage and data are preserved and available the moment you start it again.

Configure storage size at creation time. You can resize up at any moment without downtime; resize down requires a brief restart.

FieldDescription
storage_gbStorage size in GB.
storage_autoscaleOptional. Automatically grows storage when usage approaches the limit.
EndpointDescription
GET /api/databases/{id}/metricsCurrent CPU, memory and storage usage.
GET /api/databases/{id}/metrics/history?period=3600Historical metrics.
GET /api/databases/{id}/logs?tail=100Recent server logs.
WS /api/databases/{id}/logs/streamLive log stream.

Every database is backed up automatically on a daily schedule, with point-in-time recovery within the retention window. You can also trigger an on-demand backup at any time.

See Backups for the full reference.

Choose your major version at creation time. To upgrade later, create a new database on the desired version, restore from a backup or migrate using pg_dump/pg_restore, and switch your application’s DATABASE_URL.

Connection pooling

For high-concurrency workloads, a connection pooler is bundled with every database. Use the pooled connection URL (also shown in the Connect tab) to avoid running into PostgreSQL’s per-connection limits.