page:guides:echo:database connection

Connect Postgres for Echo

Summary

Database connection for an Echo app on Ample. Verified on Echo: a managed PostgreSQL database auto-provisioned and injected as DATABASE_URL, with real queries succeeding at request time (records=ok). Build and start: CGO_ENABLED=0 go build -o app ./... then ./app on the ubuntu-24.04 template (go.sum committed for a reproducible build).

Representative Queries

Resource Requirements

Infrastructure Requirements

Prerequisites

  1. A Echo project (CGO_ENABLED=0 go build -o app ./... then ./app on the ubuntu-24.04 template (go.sum committed for a reproducible build))
  2. A PostgreSQL driver reading DATABASE_URL at runtime
  3. An Ample account token with servers:write, databases:read

Workflow Steps

  1. Build and start
    CGO_ENABLED=0 go build -o app ./... then ./app on the ubuntu-24.04 template (go.sum committed for a reproducible build); the server must bind 0.0.0.0 on PORT.
  2. Read DATABASE_URL at runtime
    Open connections from the environment inside handlers or a pool; omit DATABASE_URL to auto-provision a managed database or pass --env DATABASE_URL=... for an existing one.
  3. Verify
    Fetch the live URL and /p/relational-records on the example; on failure read the build and runtime logs.
    Command: ample logs --kind build

Examples

Echo pattern fixture

Description: Verified database connection on Echo. Source Ref: tests/deploy-canaries/echo-patterns

Success Checks

Limitations

Cost Estimate

Evidence Summary