Skip to main content

Migrate from Heroku Postgres to FoundryDB in 10 Minutes

· 6 min read
FoundryDB Team
Engineering @ FoundryDB

Heroku wound down its free tier in November 2022, and since then the managed Postgres add-on has remained a solid but limited option. If you have been hitting walls with single-engine lock-in, basic monitoring dashboards, no point-in-time recovery on lower plans, and the lack of multi-node high availability, it may be time to move. FoundryDB gives you a full-featured PostgreSQL service (plus six other engines) with automated HA, PITR, predictive autoscaling, and EU-hosted infrastructure, all manageable from a single CLI.

Migrate from PlanetScale to FoundryDB MySQL

· 6 min read
FoundryDB Team
Engineering @ FoundryDB

PlanetScale removed its free tier in April 2024 and raised prices across the board, pushing many teams to re-evaluate their MySQL hosting. Beyond pricing, PlanetScale runs on Vitess, a sharding proxy that sits between your application and MySQL. While Vitess handles horizontal scaling well, it introduces compatibility quirks that can surprise you: no foreign key enforcement, limited support for certain joins, and behavior differences from native MySQL. If you want a standard MySQL experience with native replication, foreign keys, and no proxy layer, FoundryDB is a direct path forward.

AI Agents Need Databases Too: How FoundryDB Serves the Agent Era

· 7 min read
FoundryDB Team
Engineering @ FoundryDB

Something fundamental shifted in how databases get created. In 2024, most database provisioning was triggered by a human clicking a button in a dashboard or running a CLI command. By early 2026, Neon reported that 80% of new databases on their platform were created by AI agents, not humans. The database is becoming infrastructure that agents provision, configure, and tear down as part of their workflows.

This changes what a managed database platform needs to provide. Agents do not use dashboards. They do not read documentation the way engineers do. They need fast, programmatic interfaces with predictable behavior. They need databases that spin up in seconds, clean themselves up when no longer needed, and integrate natively with agent frameworks.

We built FoundryDB's agent infrastructure to meet these requirements.

RAG loop · composed from FoundryDB primitives
QUERY retrieve → augment → generate → answer
Appquestionembed →Vector Searchtop-k← pgvectorPrompt + Contextaugmentgenerate →LLM ProviderEU-routed
PostgreSQL sourceEmbedding pipelinepgvector columnVector searchPrompt + contextInference proxy · LLM

Query Your Database in Plain English: FoundryDB's AI Query Console

· 7 min read
FoundryDB Team
Engineering @ FoundryDB

Most database dashboards give you a SQL editor and wish you luck. That works fine when you remember the exact name of the pg_stat_user_tables view or the difference between information_schema.TABLES in MySQL versus PostgreSQL. For everyone else, there is the AI Query Console.

FoundryDB's AI Query Console lets you type a question in plain English, translates it to a database-native SQL query using Claude, and executes it against your running service. The entire flow is read-only by design. You cannot accidentally drop a table by asking a question.

NL2SQL: review before execute, read-only
SAFETY GATE review before execute · read-only
Userasks NL→ schema+question → LLM →Human reviewconfirm ✓→ execute READ-ONLY →Databaserows back
User questionDB schema (context)LLM (Claude)Human review gateRead-only executeResultsschema introspect (dashed)

Migrate from SQL Server to PostgreSQL with Babelfish on FoundryDB

· 7 min read
FoundryDB Team
Engineering @ FoundryDB
Babelfish: SQL Server (TDS) over PostgreSQL
DUAL ACCESS TDS :1433 and native PG :5432
SQL Server appTDS:1433 →BabelfishT-SQL → PGPostgreSQL 16:5432
SQL Server app (TDS)Babelfish :1433PostgreSQL 16 engineT-SQL → PG translationnative PG :5432 (dual access)

SQL Server licensing costs add up fast. Per-core pricing, Software Assurance renewals, and the looming end of extended support for older versions push teams to look for alternatives. PostgreSQL is the obvious destination, but rewriting thousands of stored procedures, converting T-SQL syntax, and updating every connection string is a project nobody wants to start.

Babelfish for PostgreSQL changes the equation. It adds a SQL Server wire-protocol layer (TDS) on top of PostgreSQL, so your existing applications connect to port 1433 and run T-SQL queries as before. No driver changes. No syntax rewrites. On FoundryDB, you get a fully managed Babelfish instance running on PostgreSQL 16 with backups, TLS, monitoring, and point-in-time recovery built in.

Never Lose Data: Automated Backups and Point-in-Time Recovery on FoundryDB

· 7 min read
FoundryDB Team
Engineering @ FoundryDB

Every managed database service on FoundryDB gets automated backups from the moment it starts running. There is nothing to configure, no S3 bucket to provision, and no cron job to maintain. Backups run daily, are encrypted before they leave the server, and are stored in object storage across a separate availability zone.

But automated daily backups are only half the story. For PostgreSQL, MySQL, and MongoDB, FoundryDB continuously archives write-ahead logs (WAL), binary logs (binlog), or oplogs to enable point-in-time recovery (PITR). This means you can restore to any specific second within a 7-day window, not just to the last daily snapshot.

This post covers how backups work across all engines, how to trigger and restore them, and how to use PITR to recover from the kind of mistakes that daily snapshots cannot fix.

Point-in-time recovery
RESTORED new service recovered @ T · original untouched
Databasesourcefull + WAL →RepositoryS3⇢ window · pick T →Restored @ Tnew service
Database (source)Full / base backupsWAL / binlog / oplog streamS3 repositoryRecovery window + restore pointRestored service @ T (new)

Zero-Downtime Database Upgrades with Blue-Green Deployments

· 7 min read
FoundryDB Team
Engineering @ FoundryDB

Database upgrades are the kind of task that sounds simple until you remember what is at stake. A botched upgrade means downtime, and downtime means lost revenue, broken trust, and on-call engineers reading logs at 3 AM. Rolling updates help, but they still mutate your live environment in place. Blue-green deployments take a fundamentally different approach: build the new environment first, verify it works, then switch traffic over in one atomic step.

FoundryDB supports blue-green deployments as a first-class maintenance operation. You can validate prerequisites, provision a parallel green environment, let replication sync the data, and switchover when you are confident. If something goes wrong before or after the switch, you roll back.

Zero-downtime blue/green cutover
CUTOVER GREEN serving · BLUE drained
Ingress:443ingress →Green:18081⇢ SDNPostgreSQL:5432
Ingress proxyBlue (active)Green (deploying)PostgreSQL :5432App B (east-west)private SDN (dashed)

Building a RAG Pipeline with PostgreSQL pgvector and Kafka on FoundryDB

· 7 min read
FoundryDB Team
Engineering @ FoundryDB

Retrieval-Augmented Generation (RAG) has become the standard approach for grounding LLMs in factual, up-to-date data. Instead of fine-tuning a model on your corpus (expensive, slow, stale within weeks), you retrieve relevant context at query time and feed it to the LLM alongside the user's question.

In 2026, RAG is no longer experimental. It powers customer support bots, internal knowledge search, legal document analysis, and code assistants at thousands of companies. The architecture has stabilized around a common pattern: ingest documents, generate embeddings, store vectors, retrieve at query time. What varies is how well you operate the infrastructure underneath.

This post walks through building a production RAG pipeline on FoundryDB using PostgreSQL with pgvector, Kafka for document ingestion, and Valkey for result caching.

RAG pipeline data flow
FLOW ingest → store · query → cache → response
Your Appclientproduce →Kafka:9093embed → store →PostgreSQLpgvector⇄ cacheValkey:6380
App · servicesKafka :9093PostgreSQL + pgvectorValkey :6380cache miss (dashed)

Connection Pooling on FoundryDB: PgBouncer and ProxySQL Deep Dive

· 6 min read
FoundryDB Team
Engineering @ FoundryDB

Every database connection costs memory. PostgreSQL forks a backend process per connection (roughly 5-10 MB each), and MySQL allocates per-thread buffers that scale with your buffer configuration. At 200 concurrent connections, the overhead is manageable. At 2,000, you are spending gigabytes of RAM on connection state instead of query execution.

Connection pooling sits between your application and the database, multiplexing many client connections over a small number of backend connections. FoundryDB provides PgBouncer for PostgreSQL and ProxySQL for MySQL, both managed through the API with no manual SSH or config file editing required.

Connection string anatomy · TLS required
PostgreSQL · string assembled · TLS connect
postgresql://schemeUSER:PASScredentials@HOSThost:5432port/defaultdbdatabase?sslmode=verify-fullTLS required
schemeuser · passwordhostportdatabaseTLS / sslmode (required)

From 5 Database Providers to 1: Why We Built a Multi-Engine Platform

· 7 min read
FoundryDB Team
Engineering @ FoundryDB

If you run a modern application stack, you probably use at least three different database engines. PostgreSQL for your application data. MongoDB or another document store for unstructured content. Valkey (or Redis) for caching and session storage. Kafka for event streaming. Maybe MySQL for a legacy service that nobody wants to migrate.

Each engine runs on a different managed provider. Each provider has its own dashboard, its own CLI, its own billing, its own alerting system, its own way of handling backups, its own access control model. You pay five bills, manage five sets of credentials, and context-switch between five different interfaces when something goes wrong at 2 AM.

We built FoundryDB to solve this problem: one platform for all your database engines, with a single API, a single dashboard, and a single bill.

One platform · one control plane · one private EU network
SOVEREIGN One control plane · one private EU network
Control Planeone APIprovisions →Service familiesdatabases · apps · files · AI · edge⇢ SDNPrivate backboneeast-west
Control planePrivate SDN backboneProvisions & managesPrivate SDN (east-west, dashed)Service families