Blog
InfrastructureHosting

Per-Customer PostgreSQL: How We Isolate Databases Between Accounts

Every Ember plan and above gets a dedicated PostgreSQL database, isolated at the process level. Here's why that matters for performance, security, and reliability.

Most shared hosting platforms run a single database server managing data for every customer on the machine. Your application's database lives in the same instance as your neighbours', separated only by credentials.

We do it differently. Every Ember, Blaze, and Inferno account gets a dedicated PostgreSQL database, isolated at the process level. Here's what that changes — and how our WordPress installer fits into the picture.

PostgreSQL, Not MySQL

Our database platform is PostgreSQL. It's a better fit for modern applications: proper JSON support, full-text search, strong type enforcement, and a standards-compliant SQL implementation that doesn't surprise you.

Your database is accessible at 10.88.0.1:5432 from inside your account. It's not reachable from the public internet — only your own hosting environment can connect to it. Your credentials are shown in the portal under the Database tab.

Connecting is straightforward with any standard PostgreSQL library:

// PHP with PDO
$pdo = new PDO('pgsql:host=10.88.0.1;port=5432;dbname=your_db', 'your_user', 'your_password');
// Node.js with pg
const pool = new Pool({ host: '10.88.0.1', port: 5432, database: 'your_db', ... });

Performance Isolation

A shared database instance means every account's queries compete for the same connection pool, buffer memory, and I/O. One heavy query — a bulk export, a full table scan, a migration — affects response times for every other customer on the machine.

With per-customer PostgreSQL, your queries only compete with your own. Whatever your neighbours are doing to their database doesn't affect yours.

Security Isolation

Credential-based access control keeps customers out of each other's databases until it doesn't — a compromised password, a vulnerability in a library, a misconfigured user. Per-customer isolation means a breach of your database credentials reaches your data and nothing else. There are no other customers' tables in the same instance.

What About WordPress?

WordPress requires a relational database, but it was designed around MySQL. Rather than run a MySQL instance alongside PostgreSQL, our WordPress installer uses the official SQLite integration plugin — a drop-in that routes all WordPress database calls through a local SQLite file instead.

This means:

You can install WordPress in one click from the Add-ons tab in your portal. The SQLite integration is wired up automatically. No database credentials to configure.

If you need the power of PostgreSQL for a custom application running alongside WordPress, both can coexist in the same account.

The Flameling Plan

Flameling accounts don't include a database at all — Flameling is a static-hosting tier with no PHP runtime, so neither PostgreSQL nor SQLite-via-PHP applies. WordPress (which uses SQLite via the sqlite-database-integration plugin) is available on Ember and up, alongside dedicated PostgreSQL for your own apps. If your project needs either, upgrade to Ember.

Ready for hosting that doesn't oversell?

Get started from £10/mo More articles
Stay in the loop New posts, platform updates, and open chat — join the community.
Join Discord