PostgreSQL — databasen bag dit website og din webshop
Hvert produkt, hver ordre, hvert lead og hver side, du opretter på 4buildsite, ligger i en PostgreSQL-database. Du behøver aldrig administrere den — men det er værd at vide, hvorfor vi valgte den: transaktionel integritet til betalinger, pålidelighed bevist gennem næsten 30 år og ingen licensomkostning i din pris.
Hvad PostgreSQL er, og hvad det gemmer for dit website
PostgreSQL er et open source relationelt databasesystem, der har været under kontinuerlig udvikling siden 1996 — med rødder i POSTGRES-projektet på University of California, Berkeley (1986). På 4buildsite er PostgreSQL stedet, hvor dit websites data lever: produkter og lagerbeholdning, ordrer og betalinger, leads fra formularer og sideindhold. Du arbejder i den visuelle editor; PostgreSQL holder hver ændring sikker.
Hvorfor er det vigtigt for dig, hvis du ikke er programmør? Fordi forskellen på en seriøs og en skrøbelig database viser sig netop i de svære øjeblikke: en trafikspids under en kampagne, en betaling, der forsøges to gange, en genstart af serveren. PostgreSQL er designet til at komme igennem de øjeblikke uden at miste eller ødelægge data — og derfor driver virksomheder som Instagram og Reddit den i stor skala, og historisk set drev den Skypes infrastruktur.
- Produkter, varianter og lagerbeholdning — din webshops komplette katalog
- Ordrer, Stripe-betalinger og fakturaer — din salgshistorik, uden huller
- Leads fra formularer — hver tilbudsforespørgsel er garanteret gemt
- Side- og skabelonindhold — alt, hvad du redigerer i den visuelle editor
- Dit sites domæner, indstillinger og publicerede versioner
Ordrer og betalinger uden korrupte data — ACID-integritet
Når en kunde afgiver en ordre, sker der flere ting på én gang: lagerbeholdningen falder, ordren oprettes, og Stripe-betalingen registreres. PostgreSQL udfører dem som én enkelt transaktion: enten sker de alle, eller også sker ingen af dem. Hvis betalingen fejler undervejs, vender lagerbeholdningen automatisk tilbage til sin oprindelige værdi. Denne egenskab kaldes ACID (Atomicity, Consistency, Isolation, Durability), og PostgreSQL garanterer den på hver tabel uden særlig konfiguration.
Ud over transaktioner håndhæver PostgreSQL integritetsregler direkte i databasen: en ordrelinje kan ikke henvise til et produkt, der ikke findes, lagerbeholdningen kan ikke blive negativ, og en konto-e-mail kan ikke duplikeres. Disse begrænsninger (foreign keys, check, unique) stopper dårlige data, før de kommer ind — ikke efter at de har ødelagt din salgsrapport.
For marketplaces har integritet dobbelt betydning: provisioner og delte betalinger via Stripe Connect beregnes ud fra ordredata. En duplikeret ordre eller et inkonsistent beløb ville betyde, at pengene fordeles forkert mellem sælgerne. PostgreSQL-transaktioner holder disse beregninger korrekte, ordre for ordre.
Hurtig katalogsøgning og fleksibelt indhold
PostgreSQL leveres med en fuldtekstsøgemaskine: kunder skriver »løbesko« og finder de rigtige produkter, med stemming-ordbøger inklusive rumænsk. Udvidelsen pg_trgm tilføjer tolerance over for tastefejl. For en webshop betyder disse egenskaber, at et katalog kan søges godt uden en separat tjeneste i stil med Elasticsearch — færre komponenter, der kan fejle, og lavere infrastrukturomkostninger.
Indholdet på sider bygget i den visuelle editor har ingen fast struktur — en hero-blok, en formular og et galleri har hver sine felter. PostgreSQL løser det med JSONB: native JSON-lagring, der kan indekseres med GIN-indekser og forespørges som enhver anden kolonne. Du får fleksibiliteten fra en dokumentdatabase og beholder samtidig den relationelle integritet for ordrer og betalinger — i ét system, ikke to.
- tsvector + stemming-ordbøger (rumænsk inkluderet) — relevant katalogsøgning
- pg_trgm — kunderne finder produktet, selv med en tastefejl
- JSONB med GIN-indekser — fleksible sideblokke forbliver hurtige at forespørge
Pålidelighed: backup, genopretning og ingen overraskelser
PostgreSQL skriver hver ændring til en journal først (WAL — Write-Ahead Log) og først derefter til selve dataene. Hvis serveren stopper brat, genopbygger databasen sig selv fra journalen ved genstart uden korrupte data. Den samme mekanisme er det, PostgreSQL bygger point-in-time recovery (PITR) på — en standardfunktion i motoren til installationer, der arkiverer WAL-journalen. På 4buildsite ligger data på persistente volumener, adskilt fra applikationen, så en genstart eller opdatering af platformen aldrig rører dem.
PostgreSQL understøtter også streaming-replikering — en synkroniseret kopi af databasen, klar til at overtage trafikken, når det er nødvendigt. For dit website har databasens pålidelighed betydning for SEO: et site, der svarer stabilt uden gentagne 5xx-fejl, kan crawles og indekseres uden afbrydelser.
Skalering og omkostninger — vokse uden licensregninger
Når din webshop vokser, vokser PostgreSQL med: indekser holder forespørgsler hurtige på kataloger med hundredtusindvis af produkter, partitionering deler ordrehistorikken op efter periode, og læsereplikaer absorberer rapporteringstrafik. Instagram og Reddit skalerede på PostgreSQL til hundredvis af millioner af brugere — en webshop rammer denne teknologis grænser langt senere, end den tror.
PostgreSQL har en gratis licens (PostgreSQL License, i BSD-stil) — ingen licensgebyrer og ingen kommerciel ejer, der kan ændre reglerne fra den ene dag til den anden. Kommercielle databaser licenseres typisk pr. CPU-kerne, og den omkostning ender uundgåeligt i kundens pris. På 4buildsite er databasen inkluderet i dit abonnement sammen med hosting og SSL — uden særskilt gebyr.
Fordele og begrænsninger
Fordele
- Fulde ACID-transaktioner — ordrer og betalinger forbliver konsistente, selv ved fejl eller servernedbrud.
- Pålidelighed bevist siden 1996, i produktion hos Instagram, Reddit og historisk Skype.
- Native JSONB — fleksibelt sideindhold uden at ofre relationel integritet.
- Indbygget fuldtekstsøgning med rumænsk stemming — katalogsøgning uden en separat tjeneste.
- Gratis licens — ingen skjult licensomkostning i dit abonnements pris.
- WAL-journal — efter et brat serverstop genopbygger databasen sig selv ved genstart uden korrupte data.
Begrænsninger
- Avanceret administration (tuning, replikering, failover) kræver ekspertise — på 4buildsite klarer vi det, men selvhosting er krævende.
- Skrivninger sker på én enkelt primær node — at fordele dem over flere noder (sharding) er ikke native og kræver ekstra værktøjer.
- Hver forbindelse bruger forholdsvis mere hukommelse — mange forbindelser kræver pooling (PgBouncer).
- Fuldtekstsøgningen er god, men står tilbage for dedikerede søgemaskiner, hvad angår avanceret relevans og søgeforslag.
Kort konklusion
PostgreSQL er det faste valg til websites, webshops, marketplaces og SaaS-platforme, hvor ordrer, betalinger og leads aldrig må gå tabt. En simpel blog kunne klare sig med mindre — men den gratis licens betyder, at du på 4buildsite får dette sikkerhedsniveau alligevel uden ekstra omkostning.
Specifikationstabel
| Egenskab | Grænse / tærskel | Typisk anvendelse | |
|---|---|---|---|
| Transaktionel integritet | Fuld ACID + MVCC, på hver tabel | Meget lange transaktioner holder ressourcer låst | Ordrer, betalinger, lagerbeholdning |
| JSONB | Native JSON, kan indekseres med GIN | Meget komplekse JSON-forespørgsler er langsommere end klassiske kolonner | Sideindhold, indstillinger, produktattributter |
| Fuldtekstsøgning | tsvector + pg_trgm, flersproget (rumænsk inkluderet) | Relevans under dedikerede søgemaskiner | Katalogsøgning i webshoppen |
| Backup og replikering | WAL, PITR, streaming-replikering | Automatisk failover kræver eksterne værktøjer (fx Patroni) | Genopretning efter hændelser, høj tilgængelighed |
| Skalering | Læsereplikaer, tabelpartitionering | Skrivninger forbliver på den primære node | Store kataloger og ordrehistorikker |
| Pris | Open source, gratis licens | Den reelle omkostning er infrastruktur og administration | Inkluderet i 4buildsite-abonnementer |
PostgreSQL vs. MySQL vs. MongoDB
| Kriterium | PostgreSQL | MySQL | MongoDB |
|---|---|---|---|
| ACID-integritet | Fuld, på hver tabel, som standard | Fuld kun med InnoDB-motoren | Transaktioner på tværs af dokumenter først fra v4.0, med begrænsninger |
| Datatyper og JSON | Indekserbar JSONB + rige typer (array, range) | Gyldig JSON, indirekte indeksering (genererede kolonner) | Native BSON-dokumenter, intet påtvunget skema |
| Fuldtekstsøgning | Indbygget: tsvector, pg_trgm, flersproget stemming | Grundlæggende (InnoDB FTS) | Grundlæggende; den avancerede (Atlas Search) kun i den kommercielle cloud |
| Licens / pris | PostgreSQL License — gratis, ingen kommerciel ejer | GPL, ejet af Oracle (kommercielle udgaver) | SSPL — ikke længere en klassisk open source-licens |
| Økosystem | Stærke udvidelser (PostGIS, pgvector), understøttet af alle ORM'er | Allestedsnærværende i klassisk PHP-/WordPress-hosting | Stærk på Node.js, smallere andre steder |
| Egnethed til e-handel | Fremragende — ordrer, lagerbeholdning og betalinger er garanteret konsistente | God — den historiske standard (Magento, WooCommerce) | Til fleksible kataloger; konsistens i ordrer kræver ekstra indsats |
Ofte stillede spørgsmål
Påvirker PostgreSQL mit websites hastighed?
Offentlige sider leveres fra Next.js med caching, og indekserede PostgreSQL-forespørgsler svarer på millisekunder. Ved størrelsen af et typisk website eller en webshop betyder frontend og billeder langt mere for den oplevede hastighed.
Hvorfor ikke WordPress med MySQL, som alle andre?
WordPress er et PHP-CMS med temaer og plugins, der kræver konstant vedligeholdelse og opdateringer. 4buildsite genererer Next.js-websites med PostgreSQL i bunden: uden plugins at patche og med færre sikkerhedshuller. MySQL er ikke et dårligt valg — men PostgreSQL tilføjer indekserbar JSONB, bedre fuldtekstsøgning og strengere integritet, under den samme gratis licens.
Hvad sker der med mine data, hvis serveren går ned?
PostgreSQL skriver hver ændring til WAL-journalen først, så databasen ved genstart genopbygger sig selv uden korrupte data — et brat servernedbrud ødelægger ikke dine ordrer. Oven i det ligger data på persistente volumener, adskilt fra applikationen, så en genstart eller opdatering af platformen aldrig rører dem.
Kan jeg eksportere mine data, hvis jeg forlader 4buildsite?
Ja. Dine data ligger i PostgreSQL, et branchestandardformat — produkter, ordrer og kunder kan eksporteres i almindelige formater (CSV, SQL). Der er intet proprietært format, der binder dig til platformen.
Kan PostgreSQL følge med, hvis min webshop vokser?
Ja, med en meget stor margin. Instagram og Reddit skalerede på PostgreSQL til hundredvis af millioner af brugere ved hjælp af indekser, partitionering og læsereplikaer — de samme teknikker, der er tilgængelige på 4buildsite. En webshop rammer PostgreSQL's grænser langt senere end sine egne logistiske grænser.
Hvad koster PostgreSQL-licensen?
Ingenting. PostgreSQL har en gratis licens (PostgreSQL License, i BSD-stil) uden gebyrer pr. server eller pr. kerne. På 4buildsite er databasen inkluderet i dit abonnement sammen med hosting og SSL — du betaler intet særskilt for den.