Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Postbase

Local-first PostgreSQL development platform with cloud provisioning

Postbase is a developer-focused PostgreSQL platform that prioritizes local development experience while providing seamless cloud deployment. Unlike cloud-first solutions, Postbase runs entirely on your machine first, with staging and production deployment to Railway as a natural extension.

Key Features

πŸš€ Local Development First

  • Start a PostgreSQL instance in seconds via Docker
  • Multi-database support with single PostgreSQL instance
  • SQL-first migrations with checksum verification
  • Modern admin UI with dark mode

☁️ Cloud Ready

  • One-command cloud provisioning via Railway
  • GitHub OAuth authentication
  • Secure auto-generated passwords
  • Full backup and PITR support

πŸ›‘οΈ Data Safety

  • Daily automated backups
  • Point-in-Time Recovery (PITR)
  • WAL archiving for continuous protection
  • Zero egress fees with Cloudflare R2

πŸ”§ Developer Experience

  • Type-safe SDK with Supabase-compatible API
  • TypeScript type generation from database schema
  • Comprehensive CLI for all operations
  • Realtime subscriptions via LISTEN/NOTIFY

Quick Example

# Start local PostgreSQL
postbase start
 
# Create a database
postbase db create myapp
 
# Run migrations
postbase migrate up
 
# Open Admin UI
open http://localhost:3000
import { createClient } from '@postbase/sdk'
import type { Database } from './db/types'
 
const db = createClient<Database>({
  connectionString: process.env.DATABASE_URL,
})
 
// Type-safe queries
const users = await db
  .from('users')
  .eq('active', true)
  .order('created_at', { ascending: false })
  .limit(10)
  .execute()

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                        POSTBASE                              β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚   LOCAL DEVELOPMENT       β”‚     CLOUD (Railway + CF)        β”‚
β”‚                           β”‚                                  β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”             β”‚     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”              β”‚
β”‚   β”‚   CLI   │─────────────┼────▢│ Cloud API  β”‚              β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜             β”‚     β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜              β”‚
β”‚        β”‚                  β”‚            β”‚                     β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”             β”‚     β”Œβ”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”              β”‚
β”‚   β”‚ Admin UIβ”‚             β”‚     β”‚  Railway   β”‚              β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜             β”‚     β”‚ PostgreSQL β”‚              β”‚
β”‚        β”‚                  β”‚     β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜              β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”             β”‚            β”‚                     β”‚
β”‚   β”‚ Daemon  β”‚             β”‚     β”Œβ”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”              β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜             β”‚     β”‚Backup Svc  β”‚              β”‚
β”‚        β”‚                  β”‚     β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜              β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”             β”‚            β”‚                     β”‚
β”‚   β”‚ Docker  β”‚             β”‚     β”Œβ”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”              β”‚
β”‚   β”‚PostgreSQLβ”‚            β”‚     β”‚ R2 Storage β”‚              β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜             β”‚     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Next Steps