Production
v0.1 is a Production MVP for controlled single-node deployments. Not a full PostgreSQL replacement.
Go-live checklist
- CI green on GitHub Actions
- [auth].password_scram + [server].require_tls
- Real TLS cert (tls_cert / tls_key)
- [storage].max_cached_pages for large tables
- Scheduled backup + tested restore
- Prometheus on metrics_port
- SIGTERM for deploys
Security
[auth]
password_scram = "..."
[server]
tls_cert = "/path/to/cert.pem"
tls_key = "/path/to/key.pem"
require_tls = true
metrics_port = 9090
[storage]
max_cached_pages = 64 moodengsql hash-password --scram "secret"for libpq / psqlmoodengsql hash-password "secret"for Argon2 cleartext fallback- MD5 auth is not supported
Backup & restore
moodengsql backup --output backup.tar.gz --data-dir ./moodeng_data
moodengsql restore --from backup.tar.gz --data-dir ./moodeng_data
moodengsql check --data-dir ./moodeng_data Backup takes a gzip tar snapshot while the server is running. Always test restore on staging.
Monitoring
# scrape moodeng_connections_active, moodeng_queries_total, etc.
curl http://127.0.0.1:9090/metrics Prometheus series exposed:
moodeng_upmoodeng_connections_activemoodeng_queries_totalmoodeng_query_errors_totalmoodeng_slow_queries_totalmoodeng_tables
Graceful shutdown
SIGTERM or Ctrl+C → drain active connections (shutdown_timeout_secs, default 30) → final checkpoint.
Docker and Kubernetes send SIGTERM by default — avoid kill -9.