Managed PostgreSQL Hosting in the EU
Managed PostgreSQL. Daily backups, one-click restore. Just connect and start querying.
- CPU
- Up to 8 vCPU
- Storage
- Up to 100 GB
- Version
- PostgreSQL 16
psql $DATABASE_URLpsql (16.4) · TLS · PgBouncer poolingSELECT extname FROM pg_extension;pgvector · postgis · pg_trgm\! runsite db backupsdaily + PITR · 30-day window
Instance, WAL archive and backups never leave the EU
Runsite Managed PostgreSQL is PostgreSQL as a service: a PostgreSQL 16 database you can spin up in seconds and connect to from any service. Provisioning, daily backups, point-in-time recovery, connection pooling, and version upgrades are handled for you, so you spend your time writing queries instead of maintaining a server.
Every database lives entirely within the European Union, and so do its backups. Each account is GDPR-compliant by default with a signed Data Processing Agreement, no upcharge and no sales call.
It supports the extensions people actually reach for: PostGIS for geospatial data, pgvector for AI embeddings, and pg_trgm for fuzzy search, with built-in PgBouncer pooling and one-click vertical scaling. Put Redis in front of it to cache hot queries, connect it to your web services, or stream nightly backups to object storage. The free tier includes a 1 GB database with daily backups and runs for 30 days, so you can start without a credit card and upgrade when the project is real.
Everything a Production Database Needs
Built-in tools and capabilities to deploy and manage with confidence.
Automated Backups
Daily automated backups retained for up to 30 days. Restore to any point in time within your retention window with a single click.
Read Replicas
Add read replicas on Business plans to distribute read traffic and improve query performance for read-heavy workloads.
Connection Pooling
Built-in PgBouncer connection pooling optimizes resource usage under high concurrency. No external pooler needed.
Monitoring Dashboard
Real-time metrics for connections, queries per second, memory usage, storage utilization, and replication lag.
One-Click Scaling
Scale CPU, memory, and storage vertically with a single click. Storage autoscaling prevents disk-full emergencies.
Private Networking
Connect over private internal networking for lower latency and enhanced security. TLS encryption enabled by default.
Your data is always safe
Automated backups and point-in-time recovery ensure you never lose data, even in the worst-case scenario.
Continuous WAL Archiving
Write-Ahead Log segments are continuously streamed to durable storage. This enables point-in-time recovery (PITR) to any second within your retention window.
Daily Automated Snapshots
A full database snapshot is taken daily during low-traffic hours. Snapshots are stored redundantly and retained for 7 to 30 days depending on your plan.
One-Click Restore
Restore to any point in time from the dashboard — pick a timestamp and Runsite provisions a new database with your data as it was at that exact moment.
Scaling Without Downtime
Vertical scaling (CPU, RAM, storage) is performed with minimal downtime via a controlled failover. Storage autoscaling prevents disk-full emergencies before they happen.
Get Started in Minutes
Simple integration with your existing tools and workflows.
# Add to your environment variables
DATABASE_URL=postgresql://user:password@db.runsite.app:5432/mydb
# With connection pooling
DATABASE_URL=postgresql://user:password@db.runsite.app:6432/mydb?pgbouncer=trueWhat You Can Build on PostgreSQL
Common scenarios where this service shines.
Web Application Data
Store user accounts, content, transactions, and application state for your web services with ACID guarantees.
Analytics & Reporting
Run complex analytical queries with PostgreSQL's powerful window functions, CTEs, and JSON operators.
Geospatial Applications
Use PostGIS extension for location-based queries, mapping applications, and geospatial analytics.
Full-Text Search
Leverage PostgreSQL's built-in full-text search with tsvector and tsquery for fast, relevance-ranked results.
Your Database Lives in the EU
Hosted in Frankfurt, Germany — your data stays under EU jurisdiction.
Your PostgreSQL instance, its WAL archive, and every automated backup are stored in Runsite's Frankfurt, Germany region and never leave EU borders. Point-in-time recovery snapshots stay in the same region, so a restore never pulls data across a non-EU boundary.
Every account is GDPR-compliant by default and includes a signed Data Processing Agreement at no extra cost and with no sales call. You can review how we handle data in our Privacy Policy and DPA terms. That makes Runsite a fit when you handle EU customer data or fall under the GDPR or the EU Digital Services Act.
Simple, transparent pricing
Pay only for the resources you actually use. Switch between monthly and hourly to see what you'll spend.
Production-ready databases
·Managed · Backups · EU-sovereignOne-click PostgreSQL with daily backups, connection pooling, encrypted at rest, never leaves the EU.
Free
No cold starts on active apps · no card
Starter
≈ €0.0068/hour, billed hourly
Standard
≈ €0.0192/hour, billed hourly
Pro Plus
≈ €0.0959/hour, billed hourly
Business
≈ €0.1781/hour, billed hourly
Frequently Asked Questions
Common questions about this service.
Runsite runs PostgreSQL 16 by default, the latest stable release. We support versions 14, 15, and 16. Major version upgrades can be performed with minimal downtime via the dashboard.
30 days from the day you create it. We email you before the deadline. On day 30 the database stops accepting connections but keeps its data for another 7 days — upgrade to any paid plan in that window, from €5/mo, and it resumes exactly where it left off. On day 37 the instance and its volume are deleted, and we keep the final backup set (the last 7 daily backups) for 12 months, so the data can still be restored later by upgrading. Databases on paid plans have no time limit. The rule keeps abandoned free databases from holding memory and disk that active projects need.
Runsite takes automated daily snapshots of your database and continuously archives WAL (Write-Ahead Log) segments. This enables point-in-time recovery (PITR) — you can restore your database to any second within the backup retention window (7 days on Pro, 30 days on Business).
Yes. Each database has both an internal hostname (for services within Runsite) and an external hostname (for connections from your local machine or external services). External connections use TLS encryption by default.
Yes. Runsite supports popular extensions including PostGIS (geospatial), pgvector (AI embeddings), pg_trgm (fuzzy search), uuid-ossp, hstore, and more. Contact support if you need an extension that is not pre-installed.
Runsite includes built-in PgBouncer connection pooling. Use the pooler connection string (port 6432) to multiplex many application connections over a smaller number of database connections, reducing memory usage and improving performance under high concurrency.
Learn More About PostgreSQL
Hands-on articles from the Runsite blog.
Managed PostgreSQL for Developers: What the Host Actually Takes Off Your Plate
Installing Postgres takes a minute. Running it in production for three years is the real job. Here's the specific list of operational chores that move to the host when a database is "managed" — and the ones that stay yours no matter what.
ReadSelf-Hosted vs Managed PostgreSQL: The Real Cost of Ownership
The €5 VPS looks cheaper than the €14 managed plan — until you price the hours. A line-by-line cost of ownership for self-hosting Postgres versus managed, the risk nobody puts on the invoice, and when self-hosting actually wins.
ReadPostgreSQL "FATAL: sorry, too many clients already" — What It Means and How to Fix It
Your app is suddenly throwing 500s and the database logs are full of "too many clients already." Here's what the error really means, how to see what's hogging your connections, and the fix that actually holds: pooling, not a bigger number.
ReadConnection Pooling with PgBouncer: What Ports 5432 and 6432 Really Do
You switched to port 6432 to stop the connection errors, and now prepared statements throw and SET doesn't stick. That's pooling working as designed. Here's what a pooler actually does, why 5432 and 6432 are different contracts, and what breaks in transaction mode.
ReadPoint-in-Time Recovery: How WAL Archiving Saves You After a DROP TABLE
Your nightly backup answers "do we have a copy?" Point-in-time recovery answers "can we go back to 3:06pm?" Here's what the write-ahead log stores, how PITR replays it, and what it still can't undo.
Readpgvector: Storing and Searching AI Embeddings in PostgreSQL
Your app called an embeddings API and got back 1,536 numbers per document. Before you add a vector database to the stack: what pgvector stores, how its two indexes trade recall for speed, and when Postgres alone carries a semantic search feature.
ReadYou Might Also Need
Services that work great together.
Web Services
Node.js, Python, Go, Ruby, Rust, or your own Dockerfile — Runsite builds it, runs it, and keeps it online on European infrastructure.
Learn moreRedis
In-memory cache for sessions, queues, and real-time features. Toggle it on and go.
Learn moreS3 Object Storage
Store files, images, and backups. S3-compatible — use the tools you already know.
Learn moreYour app deserves to be online
Free to start. Deploy in under a minute. No credit card needed.