PostgreSQL — databasen bakom din webbplats och webbutik
Varje produkt, order, lead och sida du skapar på 4buildsite lever i en PostgreSQL-databas. Du behöver inte administrera den själv — men det är värt att veta varför vi valde den: transaktionell integritet för betalningar, tillförlitlighet bevisad under nästan 30 år och noll licenskostnader i ditt pris.
Vad PostgreSQL är och vad den lagrar i din webbplats
PostgreSQL är ett relationsdatabassystem med öppen källkod, under kontinuerlig utveckling sedan 1996 — med rötter i projektet POSTGRES vid University of California, Berkeley (1986). På 4buildsite är PostgreSQL platsen där din webbplats data lever: produkter och lagersaldon, ordrar och betalningar, leads från formulär och sidornas innehåll. Du arbetar i den visuella editorn; PostgreSQL håller varje ändring säker.
Varför spelar det roll för dig, om du inte är programmerare? Därför att skillnaden mellan en seriös och en skör databas syns just i de svåra stunderna: en trafiktopp vid en kampanj, en betalning som skickas två gånger, en omstart av servern. PostgreSQL är konstruerad för att klara sådana stunder utan att förlora eller skada data — därför används den i stor skala av företag som Instagram och Reddit, och den har historiskt legat till grund för Skypes infrastruktur.
- Produkter, varianter och lagersaldon — hela din butiks katalog
- Ordrar, Stripe-betalningar och fakturor — försäljningshistoriken, utan luckor
- Leads från formulär — varje offertförfrågan sparas garanterat
- Innehållet i sidor och mallar — allt du redigerar i den visuella editorn
- Domäner, inställningar och publicerade versioner av din webbplats
Ordrar och betalningar utan korrupta data — ACID-integritet
När en kund lägger en order händer flera saker samtidigt: lagersaldot minskar, ordern skapas och Stripe-betalningen registreras. PostgreSQL utför allt detta som en enda transaktion: antingen sker allt eller ingenting. Om betalningen misslyckas halvvägs återgår lagersaldot automatiskt till ursprungsvärdet. Det här beteendet kallas ACID (Atomicity, Consistency, Isolation, Durability) och garanteras av PostgreSQL på varje tabell, utan särskild konfiguration.
Utöver transaktioner upprätthåller PostgreSQL integritetsregler direkt i databasen: en orderrad kan inte hänvisa till en produkt som inte finns, ett lagersaldo kan inte bli negativt och en kontos e-postadress kan inte dubbleras. Dessa begränsningar (främmande nycklar, check, unique) stoppar felaktig data innan den kommer in — inte efter att den har förstört din försäljningsrapport.
För marknadsplatser väger integriteten dubbelt: provisioner och betalningar som delas via Stripe Connect beräknas utifrån orderdata. En dubblerad order eller en inkonsekvent summa skulle innebära att pengar fördelas fel mellan säljarna. PostgreSQL-transaktioner håller dessa beräkningar korrekta, order för order.
Sökning i katalogen och flexibelt innehåll
PostgreSQL har en inbyggd fulltextsökmotor: kunder söker på ”löparskor” och hittar rätt produkter, med stemming-ordlistor inklusive för rumänska. Tillägget pg_trgm ger tolerans för stavfel. För en butik innebär dessa funktioner att katalogen går att söka i på ett bra sätt utan en separat tjänst som Elasticsearch — alltså färre komponenter som kan gå sönder och lägre infrastrukturkostnader.
Innehållet på sidor som byggs i den visuella editorn har ingen fast struktur — ett hero-block, ett formulär och ett galleri har olika fält. PostgreSQL löser det med JSONB: lagrar inbyggd JSON, indexerbar med GIN-index och sökbar som vilken kolumn som helst. Du får flexibiliteten hos en dokumentdatabas men behåller den relationella integriteten för ordrar och betalningar — i samma system, inte i två.
- tsvector + stemming-ordlistor (inklusive rumänska) — relevant sökning i katalogen
- pg_trgm — kunder hittar produkten även om de stavar fel på en bokstav
- JSONB med GIN-index — flexibla sidblock förblir tillgängliga för frågor
Tillförlitlighet: backup, återställning och inga överraskningar
PostgreSQL skriver varje ändring först i en logg (WAL — Write-Ahead Log) och först därefter i själva datan. Om servern stannar tvärt byggs databasen upp igen från loggen vid omstart, utan korrupta data. På samma mekanism bygger PostgreSQL även återställning till en tidpunkt (PITR) — en standardfunktion i motorn för installationer som arkiverar WAL-loggen. På 4buildsite ligger data på beständiga volymer, åtskilda från applikationen, så en omstart eller uppdatering av plattformen rör dem inte.
PostgreSQL stöder också streaming-replikering — en synkroniserad kopia av databasen, redo att ta över trafiken vid behov. För din webbplats är databasens tillförlitlighet viktig för SEO och GEO: en webbplats som svarar jämnt crawlas och indexeras jämnt, medan upprepade 5xx-fel försvårar crawlningen.
Skalning och kostnader — växa utan licensavgifter
När butiken växer växer PostgreSQL med den: index håller frågorna snabba på kataloger med hundratusentals produkter, partitionering delar upp orderhistoriken per period och läsrepliker tar över rapporttrafiken. Instagram och Reddit har skalat på PostgreSQL till hundratals miljoner användare — en webbutik når den här teknikens gränser mycket senare än man tror.
PostgreSQL har en fri licens (PostgreSQL License, av BSD-typ) — inga licenskostnader och ingen kommersiell ägare som kan ändra reglerna över en natt. Kommersiella databaser licensieras vanligtvis per processorkärna, och kostnaden hamnar oundvikligen i priset kunden betalar. På 4buildsite ingår databasen i planen, tillsammans med hosting och SSL — utan någon separat avgift.
Fördelar och begränsningar
Fördelar
- Fullständiga ACID-transaktioner — ordrar och betalningar förblir konsekventa även vid fel eller serverkrascher.
- Bevisad tillförlitlighet sedan 1996, i produktion hos Instagram, Reddit och, historiskt, Skype.
- Inbyggd JSONB — flexibelt sidinnehåll utan att offra den relationella integriteten.
- Fulltextsökning ingår, med stemming för rumänska — sökning i katalogen utan separat tjänst.
- Fri licens — noll licenskostnad dold i ditt planpris.
- WAL-logg — vid ett tvärt serveravbrott byggs databasen upp igen vid omstart utan korrupta data.
Begränsningar
- Avancerad administration (tuning, replikering, failover) kräver erfarenhet — på 4buildsite sköter vi den, men egenhostad är den krävande.
- Skrivningar går till en enda primär nod — distribution över flera noder (sharding) är inte inbyggd och kräver extra verktyg.
- Varje anslutning förbrukar relativt mycket minne — vid många anslutningar behövs pooling (PgBouncer).
- Fulltextsökningen är bra men ligger under dedikerade motorer när det gäller avancerad relevans och sökförslag.
Kort slutsats
PostgreSQL är standardvalet för webbplatser, webbutiker, marknadsplatser och SaaS-plattformar där ordrar, betalningar och leads inte får gå förlorade. En enkel blogg klarar sig med mindre — men den fria licensen gör att du på 4buildsite ändå får den här säkerhetsnivån utan extra kostnad.
Specifikationstabell
| Förmåga | Gräns / tröskel | Typisk användning | |
|---|---|---|---|
| Transaktionell integritet | Fullständig ACID + MVCC, på varje tabell | Mycket långa transaktioner håller resurser låsta | Ordrar, betalningar, lagersaldon |
| JSONB | Inbyggd JSON, indexerbar med GIN | Mycket komplexa frågor på JSON är långsammare än på vanliga kolumner | Sidinnehåll, inställningar, produktattribut |
| Fulltextsökning | tsvector + pg_trgm, flerspråkig (rumänska inkluderad) | Relevans under dedikerade sökmotorer | Sökning i butikens katalog |
| Backup & replikering | WAL, PITR, streaming-replikering | Automatisk failover kräver externa verktyg (t.ex. Patroni) | Återställning efter incidenter, hög tillgänglighet |
| Skalning | Läsrepliker, tabellpartitionering | Skrivningar stannar på den primära noden | Stora kataloger och långa orderhistoriker |
| Kostnad | Öppen källkod, fri licens | Den verkliga kostnaden är infrastruktur och administration | Ingår i 4buildsites planer |
PostgreSQL jämfört med MySQL och MongoDB
| Kriterium | PostgreSQL | MySQL | MongoDB |
|---|---|---|---|
| ACID-integritet | Fullständig, på varje tabell, som standard | Fullständig endast med InnoDB-motorn | Transaktioner över flera dokument först från v4.0, med begränsningar |
| Datatyper & JSON | Indexerbar JSONB + rika typer (array, range) | Giltig JSON, indirekt indexering (genererade kolumner) | Inbyggda BSON-dokument, inget påtvingat schema |
| Fulltextsökning | Ingår: tsvector, pg_trgm, flerspråkig stemming | Grundläggande (InnoDB FTS) | Grundläggande; den avancerade varianten (Atlas Search) finns bara i den kommersiella molntjänsten |
| Licens / kostnad | PostgreSQL License — fri, utan kommersiell ägare | GPL, ägs av Oracle (kommersiella utgåvor) | SSPL — inte längre en klassisk öppen källkodslicens |
| Ekosystem | Kraftfulla tillägg (PostGIS, pgvector), stöd i alla ORM:er | Allestädes närvarande i klassisk PHP-/WordPress-hosting | Starkt inom Node.js, mer begränsat i övrigt |
| Lämplighet för e-handel | Utmärkt — ordrar, lagersaldon och betalningar konsekventa med garanti | Bra — det historiska standardvalet (Magento, WooCommerce) | För flexibla kataloger; orderkonsekvens kräver extra arbete |
Vanliga frågor
Påverkar PostgreSQL min webbplats hastighet?
Inte negativt. Publika sidor serveras från Next.js med cache, och frågor mot indexerade tabeller använder index. Vid storleken på en typisk webbplats eller butik är databasen sällan flaskhalsen — frontend och bilder betyder mycket mer för den upplevda hastigheten.
Varför inte WordPress med MySQL, som alla andra?
WordPress är ett PHP-CMS med teman och plugin som måste underhållas och uppdateras ständigt. 4buildsite genererar Next.js-sajter med PostgreSQL, utan plugin att patcha och med färre säkerhetshål. MySQL är inget dåligt val — men PostgreSQL tillför indexerbar JSONB, bättre fulltextsökning och striktare integritet, under samma fria licens.
Vad händer med mina data om servern kraschar?
PostgreSQL skriver varje ändring först i WAL-loggen, så vid omstart byggs databasen upp igen utan korrupta data — en tvär serverkrasch förstör inte dina ordrar. Dessutom ligger data på beständiga volymer, åtskilda från applikationen, så en omstart eller uppdatering av plattformen rör dem inte.
Kan jag exportera mina data om jag lämnar 4buildsite?
Ja. Dina data ligger i PostgreSQL, ett branschstandardformat — produkter, ordrar och kunder kan exporteras i vanliga format (CSV, SQL). Det finns inget proprietärt format som låser dig vid plattformen.
Klarar PostgreSQL det om min butik växer?
Ja, med mycket god marginal. Instagram och Reddit har skalat på PostgreSQL till hundratals miljoner användare med hjälp av index, partitionering och läsrepliker — samma tekniker som finns tillgängliga på 4buildsite. En webbutik når PostgreSQLs gränser mycket senare än gränserna för sin egen logistik.
Vad kostar PostgreSQL-licensen mig?
Ingenting. PostgreSQL har en fri licens (PostgreSQL License, av BSD-typ), utan avgifter per server eller per kärna. På 4buildsite ingår databasen i ditt plan, tillsammans med hosting och SSL — du betalar ingenting separat för den.