Technology pageDATABASETier 2

PostgreSQL

The reference relational database: robust, open source, no limits for the vast majority of SMBs.

The topicWhat we're talking about

PostgreSQL has become the de facto standard for relational databases. For an SMB, it's the database I recommend by default whenever there's data to store: e-commerce sites, business applications, analytical dashboards. Its 30-year robustness combines with rare modernity: native JSON, full-text search, geolocation, and now vector search for AI. Where MySQL/MariaDB remain valid, PostgreSQL almost always offers more headroom at no extra cost.

My opinionMy owned point of view

My take on PostgreSQL: it's the database I recommend by default as soon as your project has structured data to store.

The market has seen dozens of NoSQL alternatives and proprietary databases parade through over the past fifteen years, and the vast majority bring nothing PostgreSQL can't do, often better and without vendor lock-in. For you, it's a durability guarantee: thirty years of existence, massive community, mature ecosystem.

The rare cases where I go elsewhere: very large analytical volumes (ClickHouse), high-frequency time series, or purely documentary needs without relations (MongoDB). For the rest of your projects (dynamic site, e-commerce, business application), PostgreSQL is the right investment.

Relevant when
  • E-commerce sites and business applications, classic relational schema
  • Structured data with relations (customers, orders, products, invoices)
  • Built-in full-text search: no need for Elasticsearch for 99% of SMBs
  • Geographic data (PostGIS), open source reference in the field
  • Vector search to integrate AI features (pgvector)
Skip it when
  • ×Massive analytical volume (hundreds of millions of rows, complex queries): ClickHouse or BigQuery are more suited
  • ×Very high-frequency real-time writes: Redis for caching, TimescaleDB for time series
  • ×Purely documentary data without relations: MongoDB may suffice if truly flat
+ Alternatives to considerOther paths depending on your profile
  • MySQL / MariaDBIf you already have MySQL and migration doesn't bring enough value, valid solution but less modern
  • SQLiteFor very simple applications or prototypes: single file, zero server
  • MongoDBIf your data is strictly documentary without relations, uncommon in SMBs
  • SupabaseManaged PostgreSQL + auth + storage as SaaS: good to start fast, watch long term for cost
My approachHow I tackle it concretely
  1. 01

    Recent LTS version (15 or 16 currently): avoid versions too old for security and performance

  2. 02

    Versioned migrations in code (Prisma, Drizzle, Doctrine, Eloquent or native tools)

  3. 03

    Automated encrypted backups with Restic or pg_dump + S3, regularly tested

  4. 04

    Indexes designed based on actual queries, not by superstition

  5. 05

    Basic slow query monitoring, often the most profitable optimization

Frequently asked questionsAbout this technology specifically
  • PostgreSQL or MySQL?
    PostgreSQL in the vast majority of cases. PostgreSQL has better SQL standard compliance, more modern JSON handling, more native features (full-text, geo, vector). MySQL/MariaDB remain valid for existing or very simple projects. For a new SMB project, I systematically go with PostgreSQL.
  • How much does PostgreSQL hosting cost?
    For an SMB, expect €10-40/month self-hosted on a VPS, or €25-100/month on a managed service (OVH, Scaleway, Supabase). Cloud-managed databases (AWS RDS, GCP Cloud SQL) start around €50/month and grow quickly. For most SMBs, self-hosted with automated backups is the best cost/control ratio.
  • ORM or raw SQL?
    Depends on the project. For a complex business app (Symfony, Laravel, Next.js), an ORM (Doctrine, Eloquent, Prisma, Drizzle) accelerates development and secures queries. For analytical or performance-critical queries, raw SQL remains preferable. Good frameworks allow mixing both without dogma.
  • How to migrate from an old database to PostgreSQL?
    Three steps: structured extraction (often CSV or SQL dump), schema cleanup (inconsistent types, missing constraints), import into PostgreSQL with verifications. For a common MySQL/MariaDB database, this is typically 1-5 days depending on size and cleanliness. For more exotic databases (Access, FoxPro), allow more discovery time.
  • And backups?
    The critical issue too often neglected. Daily automated backups at minimum, encrypted at rest (Restic or pg_dump + encrypted S3), retained 30 days in rotation, and regularly tested by real restoration. An untested backup is not a backup. That's the classic trap.
DATABASE

A project involving PostgreSQL?

Describe your context: I'll suggest the right level of investment.

First call
05 /Contact

Let's talk aboutyour project.

Describe your need in a few lines. Reply within 24h to plan next steps, detailed quote within 48h.

  • 24h response
  • NDA on request

By sending this form, you agree that your information will be used to respond to your request. Stored for 3 years, never shared with third-party advertisers. Learn more

Bordeaux & Nouvelle-Aquitaine