Skip to content

For PostgreSQL

Postgres on local NVMe, any extension you need

PostgreSQL 16 on dedicated vCPUs and local NVMe, replicas over a free private network and WAL archived to S3-compatible storage. Install whatever extensions you need; the bill is an hourly rate for the VM.

Free to sign up. No egress fees on any product.

Why PostgreSQL on Edge

Postgres the way RDS won't let you run it

Real disk, real RAM and root access. The things a managed service charges extra for, or says no to.
  • NVMe that doesn't throttle

    Local NVMe on every VM. No per-IOPS billing, no burst credits and no provisioned-throughput tier to size.
  • WAL archiving to S3

    Ship WAL and base backups to Edge Storage with pgBackRest or WAL-G for point-in-time recovery, at storage prices.
  • Replication on a private network

    Primary and standby on separate VMs, streaming over a private network. No cross-AZ transfer fees, nothing public.
  • Any version, any extension

    The library script installs PostgreSQL 16. Add PostGIS, pgvector, TimescaleDB, pg_cron or any version from the PGDG repo.
  • Pooling on the same box

    Run PgBouncer beside Postgres at no extra cost. Set max_connections for your workload, not for a pricing tier.
  • No per-instance markup

    You pay for vCPU, RAM and disk by the hour. No licence, no snapshot storage premium, no line for each replica's traffic.

Reference architecture

A primary with PgBouncer, a standby and a WAL bucket

A primary on a sized-to-fit VM, PgBouncer in front of it, a streaming standby and WAL archived to a bucket. Standard Postgres operations throughout.
  • Compute

    Runs Postgres and PgBouncer on a VM with a local NVMe data directory.

  • Compute

    An optional second VM as a hot standby, streaming over the private network.

  • Storage

    Holds archived WAL and base backups for point-in-time recovery.

  • DNS

    A db. record for the primary's private address, so failover is one record change.

Deploy

Archive WAL and add a standby from day one

The PostgreSQL library script gets you a running server. The rest is standard Postgres configuration.
  1. 01

    Create the primary

    PostgreSQL 16 with remote access configured. --disk sets the NVMe volume; pick a custom vCPU and RAM mix in the console configurator if you need more memory.

    shell
    $ edge compute create --name pg-1 --size s-4vcpu-8gb \
        --disk 500 --image ubuntu-24 --region london \
        --script postgresql --script-param db_name=app \
        --script-param db_password="$(openssl rand -base64 24)"
  2. 02

    Keep it on the private network

    Attach pg-1 and your app VMs to one private network, then attach this group in pg-1's Firewall tab. Nothing listens publicly on 5432.

    shell
    $ edge compute groups create --name pg-private
    $ edge compute groups add-rule grp-abc123 --port 5432 \
        --protocol tcp --source 10.185.0.0/24
    $ edge compute groups add-rule grp-abc123 --port 6432 \
        --protocol tcp --source 10.185.0.0/24
  3. 03

    Archive WAL to Edge Storage

    Set archive_mode = on and archive_command = 'pgbackrest --stanza=main archive-push %p', then run stanza-create and a first full backup.

    /etc/pgbackrest/pgbackrest.conf
    [global]
    repo1-type=s3
    repo1-s3-endpoint=storage.edge.network
    repo1-s3-bucket=pg-wal
    repo1-s3-region=us-east-1
    repo1-s3-uri-style=path
    repo1-s3-key=<edge-access-key>
    repo1-s3-key-secret=<edge-secret-key>
    repo1-retention-full=2
    compress-type=zst
    
    [main]
    pg1-path=/var/lib/postgresql/16/main
  4. 04

    Add a streaming standby

    Create a replicator role on pg-1 and allow it in pg_hba.conf. Add Patroni or repmgr when you want automated failover.

    shell
    $ edge compute create --name pg-2 --size s-4vcpu-8gb \
        --disk 500 --image ubuntu-24 --region london \
        --script postgresql
    
    # on pg-2, service stopped, data directory emptied
    $ pg_basebackup -h 10.185.0.2 -U replicator \
        -D /var/lib/postgresql/16/main -R -X stream -P
    $ systemctl start postgresql

Prefer to hand it off? Give the job to your AI agent or have our engineers do it.

What it costs

A 16 GiB primary, priced from the rate card

Managed Postgres bills per instance-hour, per GB of snapshots and per IOPS. Here it's vCPU, RAM and disk from the rate card, plus a bucket for WAL.
  • No per-IOPS, per-snapshot or cross-AZ lines
  • Private traffic between VMs is free
  • Add a hot standby at the same rate for HA
  • Billed hourly from a prepaid balance
See compute pricing

Estimated monthly bill on Edge

Mid-sized production DB: 4 vCPU, 16 GiB, 500 GB, 100 GB of WAL a day

USD
  • Primary VM$78.58Rate card: 4 vCPU $11.68 + 16 GiB RAM $29.90 + 500 GB NVMe $37.00
  • Storage$14.93~1 TB of WAL and base backups: first 5 GB free, then 995 GB × $0.015
  • DNS$0.00Private record for the primary
  • Egress$0.00
Total$93.51

Indicative monthly cost for a mid-sized production database

  • RDS db.r6g.xlarge + storage + IOPS~$500–800
  • Aurora equivalent~$700–1,200
  • Edge (VM + Storage for WAL)~$60–120

Indicative figures based on public pricing. Add a second VM for HA replication.

FAQ

PostgreSQL on Edge, answered

Something else? Ask an engineer.
How does this compare to RDS or Aurora?
Cheaper, with no per-instance-hour markup, snapshot fees or IOPS bills, and faster on like-for-like hardware thanks to local NVMe. The trade-off: you own backups, upgrades and HA, or our Expert Services team does.
How do I do high availability?
Stream to a hot standby on a second VM over the private network, then add Patroni or repmgr for automated failover. Both are standard tools and run unchanged on Edge VMs.
What about backups?
pgBackRest or WAL-G ship WAL segments and base backups to an Edge Storage bucket for point-in-time recovery. VM snapshots are a useful extra, but they don't replace database-native backups.
Can I run a different version or extension?
Yes. The library script installs PostgreSQL 16; add the PGDG apt repository for other versions, and install PostGIS, pgvector, TimescaleDB or anything else you need. You have root.
How do my apps connect?
Over the private network from VMs in the same region, using the primary's private IP or a DNS record pointing at it. Traffic between Edge VMs on a private network is free.

Move Postgres off RDS

Start free. Migrate from RDS or stand up a fresh cluster; Expert Services can plan the cutover.

Free tiers hard-cap. Nothing bills until you add a card.