Apolo
HomeConsoleGitHub
  • Apolo concepts
  • CLI Reference
  • Examples/Use Cases
  • Flow CLI
  • Actions Reference
  • Apolo Extras CLI
  • Python SDK
  • Getting started
    • Introduction
    • First Steps
      • Getting Started
      • Training Your First Model
      • Running Your Code
    • Apolo Base Docker image
    • FAQ
    • Troubleshooting
    • References
  • Apolo Console
    • Getting started
      • Sign Up, Login
      • Organizations
      • Clusters
      • Projects
    • Apps
      • Pre-installed apps
        • Files
        • Buckets
        • Disks
        • Images
        • Secrets
        • Jobs
          • Remote Debugging with PyCharm Professional
          • Remote Debugging with VS Code
        • Flows
      • Available apps
        • Terminal
        • LLM Inference
          • vLLM Inference details
          • Multi-GPU Benchmarks Report
        • PostgreSQL
        • Text Embeddings Inference
        • Jupyter Notebook
        • Jupyter Lab
        • VS Code
        • PyCharm Community Edition
        • ML Flow
        • Apolo Deploy
        • Dify
        • Weaviate
        • Fooocus
        • Stable Diffusion
  • Apolo CLI
    • Installing CLI
    • Apps
      • Files
      • Jobs
      • Images
  • Administration
    • Cluster Management
      • Creating a Cluster
      • Managing Users and Quotas
      • Managing organizations
      • Creating Node Pools
      • Managing Presets
Powered by GitBook
On this page

Was this helpful?

  1. Apolo Console
  2. Apps
  3. Available apps

PostgreSQL

PostgreSQL is a powerful, open-source relational database system known for its reliability, feature richness, and extensibility. It supports advanced SQL compliance, transactional integrity, and scalability, making it a popular choice for both OLTP and OLAP workloads. PostgreSQL’s flexibility allows for use across a wide range of applications, from web services to large-scale data platforms.Apolo uses the Crunchy Data distribution of PostgreSQL, which builds on the core database engine by adding production-grade features such as high availability, automated backups, Kubernetes-native deployment, and enhanced monitoring. This ensures that PostgreSQL on Apolo is robust, secure, and ready for mission-critical workloads in modern cloud environments.

Key Features

  • Enterprise-Grade PostgreSQL: Fully open-source and compliant with PostgreSQL, offering advanced tooling and support for critical workloads.

  • High Availability: Built-in support for HA via Patroni, Kubernetes-native failover handling, and synchronous streaming replication.

  • Automated Backups & Point-in-Time Recovery (PITR): Integrated tools for automated scheduled backups, WAL archiving, and recovery to any point.

  • Monitoring & Metrics: Native integration with Prometheus and Grafana for visibility into database performance and health.

  • Security & Compliance: Includes features such as TLS encryption, role-based access control, audit logging, and SELinux hardening.

  • Kubernetes-Native: Optimized for Kubernetes through Crunchy Data’s PostgreSQL Operator (PGO), enabling declarative management and scalable deployments.

Installation and Deployment on Apolo

You can deploy Crunchy Postgres using an App interface

Highlights of the Apolo Installation Flow:

  • Preset-Based Deployment: Select a suitable Apolo preset (e.g. cpu-medium, cpu-large) that defines CPU, memory, and storage requirements.

  • Persistent Storage Management: Automatically provisions high-performance, durable storage with snapshot and backup support.

  • Secrets & Credentials Injection: Securely injects environment variables and secrets such as POSTGRES_PASSWORD, PGDATA, and SSL keys.

  • Ingress Configuration: Easily expose your PostgreSQL instance using an ingress or internal service, depending on access needs.

  • Backup & PITR Support: Integrates with Apolo’s backup system for regular snapshots and point-in-time recovery options.

  • Observability: Exposes key PostgreSQL metrics via built-in exporters for monitoring via Apolo’s observability stack or your own Prometheus instance.


Parameter Descriptions:

The following parameters can be set with Apolo’s CLI

(apolo run --pass-config ... install ... --set <key>=<value>).

Mainly parameters for the Instances and PgBouncer.

PgBouncer sits between your application and PostgreSQL, managing and reusing database connections to reduce overhead and improve performance—especially in high-concurrency environments.

Parameter
Type
Description

instanceReplicas

Int

Required. Number of PostgreSQL instances deployed.

pgBouncerReplicas

Int

Required. Number of PgBouncer instances deployed.

preset_name

String

Required. Apolo preset for resources. E.g. cpu-large,cpu-medium . Sets CPU, memory, GPU count, and GPU provider.

bouncer_preset_name

String

Required. Apolo preset for pgBouncer. E.g. cpu-large,cpu-medium . Sets CPU, memory, GPU count, and GPU provider.

users[N].name

String

Optional. Username to access the database later on.

users[N].databases[N]

String

Optional. Database created and given access to specific user.

Any additional chart values can also be provided through --set flags, but the above are the most common.

Example Apolo CLI Command

  apolo run \
  --pass-config \
  --entrypoint "./entrypoints/pgo.sh install postgresql pgv \
  --set 'instanceReplicas=2' --set 'pgBouncerReplicas=2' \
  --set 'preset_name=cpu-large' \
  --set 'bouncer_preset_name=cpu-large' \
  --set 'users[0].name=myuser' --set 'users[0].databases[0]=mydb'" \
  ghcr.io/neuro-inc/app-deployment

References:

PreviousMulti-GPU Benchmarks ReportNextText Embeddings Inference

Last updated 1 month ago

Was this helpful?

Below is a streamlined example command that deploys Postgres using the

(for the usage of apolo run and resource presets)

postgres-app
Crunchy Postgres Apolo Chart Repository
Crunchy Data Postgres Documentation
Apolo Documentation