---
title: PostgreSQL
url: "/docs/databases/postgres/"
canonical_url: https://docs.blossom88.com/docs/databases/postgres/
markdown_url: https://docs.blossom88.com/docs/databases/postgres.md
summary: PostgreSQL databases with recovery, replication, monitoring, and automatic
  failover
categories:
- data
- databases
- postgresql
---

# PostgreSQL

Run PostgreSQL 18 with a private endpoint, generated credentials and managed
recovery. Blossom installs compatible minor updates during your Account's
Preferred Maintenance Window and shows the exact installed version.

[Add a Database](/learn/databases/) to get started, then
[query and seed it](/docs/databases/postgres/sql/) from your AI app
or terminal.

## Availability

| Option | What you get |
|---|---|
| Shared | Shares Data Capacity with your own Databases and Caches; never other customers |
| Dedicated | One node per Server, with optional standby and read replicas; recommended for production |

Shared is available in Hetzner regions; Dedicated is available wherever the
Location supports storage. Both keep a stable private endpoint and storage
that follows the node after Server replacement. Shared defaults to Small;
see [sizes](/docs/databases/#shared-sizes).

## Storage

Choose 10–1,000 GiB. Grow it online in Database Settings or from the CLI:

    blossom database_instance:update --id database_instance-100 --data '{"database_instance":{"storage_gib":40}}'

Storage never shrinks. Ordinary Server recovery reattaches the existing disk;
[Backup Storage](/docs/backups/managed-database/) protects against
data loss and enables point-in-time recovery.

## Move Shared to Dedicated

Open **General → Move to Dedicated**. The move keeps all databases, users,
credentials, App links, URLs, PostgreSQL version and connection limit.

> Move my Shared PostgreSQL instance to 4 vCPU / 8 GB Dedicated compute.
> Show me the Capacity effect before I confirm.

    blossom database_instance:dedication:show --id database_instance-100 --dedicated-size 4vcpu-8gb
    blossom database_instance:dedicate --id database_instance-100 --dedicated-size 4vcpu-8gb --yes --follow

A healthy instance and current recovery backup are required. Shared keeps
serving during the copy; connections briefly disconnect at the writer switch.
Cancel before cutover with `database_instance:dedication:cancel`, or resume a
failed move with `database_instance:dedication:retry`.

## Move One Database

Open a Database's **Move database** action to select an existing instance or
create a new Shared or Dedicated destination.

> Move my queue database to its own instance. Show me which Apps will restart
> and the Capacity effect before I confirm.

    blossom database:move:show --id database-queue --destination database_instance-target
    blossom database:move --id database-queue --destination database_instance-target --yes --follow

Linked Apps pause during the copy and restart with the destination URL.
Identity, credentials and App links stay the same; other databases keep
serving. Manually configured clients need the new URL. Supported sources are
standalone PostgreSQL databases up to 1 GiB with one managed owner.

Cancel before the switch with `database:move:cancel`; resume with
`database:move:retry`. For new-destination definitions and recovery details,
see [database:move](/docs/reference/cli/database/move/).

## Protection And Monitoring

| Need | Blossom provides |
|---|---|
| Recovery backups | Encrypted backups and continuous WAL archiving; restore an independent Database or an explicit recovery time |
| Read scaling | Up to 15 read replicas with their own endpoints; replicas are not automatic failover candidates |
| High availability | One Dedicated standby, promoted only after the old primary cannot accept writes; the primary endpoint stays the same |
| Monitoring | Connections, CPU, memory, storage, backup and WAL health, and replication lag per follower |

See [Recovery Backups](/docs/backups/managed-database/) and
[High Availability](/docs/databases/postgresql-high-availability/).
A standby requires Backup Storage and adds its own compute and disk.

## Connect And Price It

Use an [Environment Link](/docs/databases/#connect-an-environment)
to deliver `DATABASE_URL` to your Services. Private access is limited to linked
Environments; public access is opt-in.

Shared instances fill your Data Capacity; Dedicated nodes have their own
compute charge. Each has separately billed storage. Review regional
[Database pricing](https://app.blossom88.com/pricing/database-instances) or the
estimate shown before creation. Capacity limits never pause a running Database.

## What You Get

PostgreSQL connected to your App, with online storage growth, managed recovery
and optional read scaling or automatic failover.
