Skip to content

Operations

Zatabase is fully managed. Infrastructure, upgrades, and security patches are handled for you. This page covers the operational controls available through the console and API.

Each project supports multiple environments so you can develop and test without affecting production data.

EnvironmentPurpose
ProductionLive application traffic. Created automatically with every project.
StagingPre-production testing with production-like settings.
DevelopmentLocal and CI workflows. Relaxed rate limits.

Switch environments from the console sidebar or by passing the X-Zatabase-Environment header in API requests. Each environment has its own tables, collections, indexes, API keys, and user data.

Create and manage environments via the console at Project Settings > Environments or through the API:

Terminal window
# List environments
curl -s https://your-project.zatabase.io/v1/environments \
-H "Authorization: Bearer $ZATABASE_KEY" | jq
# Create a new environment
curl -s -X POST https://your-project.zatabase.io/v1/environments \
-H "Authorization: Bearer $ZATABASE_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "staging", "description": "Pre-production testing"}' | jq

Every connection to your-project.zatabase.io is encrypted with TLS. There are no certificates to provision, rotate, or manage.

Additional security defaults:

  • API keys are scoped per environment and can be revoked instantly
  • JWT tokens use short-lived access tokens with automatic refresh
  • RBAC enforces permissions at every API boundary (see Permissions)
  • Audit logs record all administrative actions and are available in the console

Access real-time metrics and logs from the Monitoring tab in the console dashboard:

  • Request volume — requests per second, error rates, latency percentiles
  • Storage — total data size, row counts per table, index sizes
  • Query performance — slow query log, query plan analysis
  • Active connections — current SDK and API connections

For programmatic access, query the metrics API:

Terminal window
curl -s https://your-project.zatabase.io/v1/metrics \
-H "Authorization: Bearer $ZATABASE_KEY" | jq

Set up alerts in Project Settings > Alerts to get notified on Slack, email, or webhook when thresholds are crossed.

Zatabase automatically takes daily backups of every environment with point-in-time recovery support.

FeatureDetails
Automatic backupsDaily, retained for 30 days (configurable per plan)
Point-in-time recoveryRestore to any second within the retention window
Manual snapshotsCreate on-demand snapshots from the console or API
Cross-region restoreRestore a backup to a different region

Manage backups from Project Settings > Backups or through the API:

Terminal window
# List available backups
curl -s https://your-project.zatabase.io/v1/backups \
-H "Authorization: Bearer $ZATABASE_KEY" | jq
# Create a manual snapshot
curl -s -X POST https://your-project.zatabase.io/v1/backups \
-H "Authorization: Bearer $ZATABASE_KEY" \
-H "Content-Type: application/json" \
-d '{"label": "before-migration"}' | jq
# Restore from a backup
curl -s -X POST https://your-project.zatabase.io/v1/backups/restore \
-H "Authorization: Bearer $ZATABASE_KEY" \
-H "Content-Type: application/json" \
-d '{"backup_id": "bkp_abc123", "target_environment": "staging"}' | jq

Adjust compute and storage resources from the console or by upgrading your plan. Changes take effect immediately with no downtime.

  • Vertical scaling — increase CPU and memory allocation for your project
  • Storage scaling — storage grows automatically; set a maximum to control costs
  • Read replicas — add replicas in the same or different regions for read-heavy workloads
  • Connection pooling — built-in connection pooling for high-concurrency applications

Manage scaling from Project Settings > Resources.

Zatabase exposes public health endpoints that do not require authentication, useful for external uptime monitoring:

Terminal window
# Liveness -- is the service running?
curl -s https://your-project.zatabase.io/health
# {"status": "ok"}
# Readiness -- is the service ready to accept queries?
curl -s https://your-project.zatabase.io/health/ready
# {"status": "ok", "checks": {...}}

Platform-wide status is available at status.zatabase.io.