Troubleshooting
Check Service Status
curl -u admin:password https://api.foundrydb.com/managed-services/{id} \
| jq '{status, created_at}'
Common statuses and what they mean:
| Status | Meaning |
|---|---|
Pending | Service creation queued |
Provisioning | VM being set up |
Running | Healthy and accepting connections |
Stopped | Shut down by user request |
Error | Provisioning or health check failed |
Upgrading | Version upgrade in progress |
Connection Refused
Symptom: Client cannot connect; connection refused or timed out.
Checklist:
- Your IP is in
allowed_cidrs:curl -u admin:password https://api.foundrydb.com/managed-services/{id} | jq '.allowed_cidrs' - The service status is
Running(notStoppedorError) - You are connecting to the correct port for the engine (see Network Security)
- DNS resolves correctly:
dig +short yourdb.foundrydb.com
Authentication Failed
Symptom: FATAL: password authentication failed or similar.
- Reveal the current password:
curl -u admin:password -X POST \
https://api.foundrydb.com/managed-services/{id}/database-users/{username}/reveal-password - Confirm you are using the correct username — default is
app_user(varies by engine) - Check for special characters in the password that need URL-encoding in connection strings
TLS / Certificate Errors
Symptom: SSL SYSCALL error or certificate verify failed.
- The certificate is issued for the service's DNS hostname. Always connect via hostname, not IP address.
- If you see
certificate has expired, contact support — automatic renewal may have been disrupted. - For clients that cannot use the system CA bundle, download the certificate:
echo | openssl s_client -connect yourdb.foundrydb.com:5432 -starttls postgres 2>/dev/null \
| openssl x509 > server.crt
Replication Lag
Symptom: Replica reads are stale; replication_lag_seconds metric is elevated.
- Check current lag:
curl -u admin:password \
"https://api.foundrydb.com/managed-services/{id}/metrics?metric=replication_lag_seconds&period=1h" - Lag spikes during bulk writes are normal and should recover within seconds
- Persistent lag (>60 seconds) may indicate replica node resource exhaustion — check
cpuanddisk_iopsmetrics - If the replica is marked
disconnected, add a new replica and remove the lagging one
Disk Full
Symptom: Writes fail; error message mentions no space left on device.
- Check disk usage:
curl -u admin:password \
"https://api.foundrydb.com/managed-services/{id}/metrics?metric=disk&period=1h" - Expand storage — takes effect without downtime:
curl -u admin:password -X POST \
https://api.foundrydb.com/managed-services/{id}/storage/expand \
-H "Content-Type: application/json" \
-d '{"storage_size_gb": 200}' - If disk is at 100% and writes are blocked, stop the service, expand, then restart
Backup Failures
Symptom: Backup status is failed; scheduled backups not completing.
- List recent backups and check error messages:
curl -u admin:password \
"https://api.foundrydb.com/managed-services/{id}/backups?limit=5" \
| jq '.backups[] | {id, status, error_message, created_at}' - Common causes:
- Disk space too low on the backup volume (expand storage)
- Backup exceeded the 30-minute timeout (usually caused by very large databases — contact support)
High CPU / Memory
Symptom: Slow queries; cpu or memory metric is consistently above 80%.
- Review query statistics (PostgreSQL):
curl -u admin:password \
"https://api.foundrydb.com/managed-services/{id}/metrics/query-stats?limit=10&order=total_time" - Scale up to a larger compute plan:
curl -u admin:password -X POST \
https://api.foundrydb.com/managed-services/{id}/resize \
-H "Content-Type: application/json" \
-d '{"plan_name": "tier-4"}' - Review slow query logs and add indexes if needed
Too Many Connections
Symptom: FATAL: sorry, too many clients already (PostgreSQL) or similar.
- Enable PgBouncer (port 5433) if not already in use — it multiplexes many application connections into fewer database connections
- Reduce
max_connectionsin client pool settings - Consider upgrading to a larger plan (higher plans support more connections)
Service Stuck Provisioning
If a service stays in Provisioning for more than 10 minutes, it may have encountered an error. Contact support with the service ID. Do not delete and recreate repeatedly — this can leave orphaned resources.
Getting Help
If you cannot resolve an issue using this guide:
- Include the service ID and the approximate time the issue occurred
- Include any error messages from your client
- Contact support at support@foundrydb.com