Launching the Platform/Self-hosted: On-prem/Prerequisites
Postgresql database
Setup and configure PostgreSQL database for your self-hosted platform
Overview
Primary Database
- User data and configurations
- Platform state
- Application data
- Minimum version: PostgreSQL 13+
Key Features
- High availability
- Data persistence
- Backup support
- Performance monitoring
Deployment options
Cloud Provider Options
Digital Ocean Managed Database
- Create new database cluster
- Choose PostgreSQL 13+
- Select plan (minimum 2 vCPU, 4GB RAM)
- Enable connection pooling (recommended: 50 connections)
Neon Serverless PostgreSQL
- Create new project
- Set up new database
- Enable connection pooling
- Note the connection string
Other Providers
- Amazon RDS
- Google Cloud SQL
- Azure Database for PostgreSQL
Benefits
- Automatic backups
- High availability
- Security patches
- Performance monitoring
Bitnami PostgreSQL Chart
Install PostgreSQL
helm upgrade --install postgresql oci://registry-1.docker.io/bitnamicharts/postgresql \
--namespace postgresql \
--version 14.3.3 \
--create-namespace \
--set global.postgresql.auth.username=platform \
--set global.postgresql.auth.password=your-secure-password \
--set global.postgresql.auth.database=platform
Wait for deployment
kubectl -n postgresql get pods -w
For Production Use
- Configure proper resource limits
- Set up regular backups
- Consider high availability setup
Requirements
Minimum Specifications
- PostgreSQL 13 or higher
- 2 vCPU cores
- 4GB RAM
- 20GB storage
Recommended Features
- Connection pooling
- Automated backups
- Point-in-time recovery
- SSL/TLS encryption
Information collection
Required values for platform installation
- Database hostname
- Port number (default: 5432)
- Database name
- Username
- Password
- SSL mode (e.g.,
require
)
postgresql:
host: "your-db-host"
port: 5432
user: "platform"
password: "your-secure-password"
database: "platform"
sslMode: "require" # or "disable" for local development
Validation
Test PostgreSQL connection
# Using psql client
psql "postgres://username:password@hostname:5432/dbname?sslmode=require"
# Or using connection string
psql "postgresql://username:password@hostname:5432/dbname?sslmode=require"
Troubleshooting
Connection Failures
- Verify credentials
- Check network/firewall rules
- Confirm SSL/TLS settings
- Validate connection string format
Performance Issues
- Check connection pool settings
- Monitor resource usage
- Review query performance
- Verify index usage
Need help? Contact [email protected] if you encounter any issues.