Beheerde PostgreSQL op Dockup: complete handleiding
Beheerde PostgreSQL op Dockup: maak een database aan, verbind veilig een service, bekijk grootte en logs, maak back-ups, herstel veilig en voeg alleen-lezengebruikers toe.
Beheerde PostgreSQL geeft een applicatie een ingerichte database met lifecyclebewerkingen die losstaan van de servicecontainer. Dockup ondersteunt het aanmaken, starten en stoppen, logs, het controleren van de grootte, back-ups, herstel via het platform, alleen-lezengebruikers, migratie tussen nodes en private networking.
Het belangrijkste operationele principe is scheiding: de applicatie-image is vervangbaar, de PostgreSQL-data is persistent, credentials zijn secrets en databaseherstel moet onafhankelijk van een rollback van de applicatie worden getest.
Hoe maak je een beheerde PostgreSQL-database aan?
Selecteer de gewenste workspace en maak vervolgens de database aan:
dockup db create \
--name main-db \
--type postgresql \
--json
Geef de databases weer om de exacte slug en status te controleren:
dockup db list --json
Databasebewerkingen gebruiken project/db-targets:
dockup db size production/main-db --json
Wacht tot het provisionen is voltooid voordat je een applicatie koppelt. Raad de hostname, poort, gebruikersnaam of het wachtwoord niet af op basis van de databasenaam.
Het Free-plan staat drie databases in één workspace toe en bevat een starttegoed van $10. Betaalde plannen—Hobby voor $5, Pro voor $20 per maand—staan onbeperkte databases, workspaces en deployments toe. Het verbruik van CPU, RAM en schijfruimte wordt per minuut gemeten en verrekend met het inbegrepen gebruikssaldo.
Hoe verbind je veilig een applicatie?
Haal de databaseverbindingsgegevens op via de database-interface van Dockup en behandel de connection string als een secret. Plak deze niet in de repository of in het agenttranscript.
Stel de waarde in op de service:
dockup env set DATABASE_URL="$DATABASE_URL" \
--secret \
-s production/api \
--json
dockup deploy production/api --wait --json
Een redeploy is vereist omdat het actieve proces zijn environment bij het opstarten heeft ontvangen. De opgeslagen waarde wordt gemaskeerd wanneer de environmentconfiguratie wordt uitgelezen.
Configureer connection pooling voor de applicatie bewust. Te veel application workers met grote pools kunnen de databaseverbindingen uitputten, zelfs wanneer CPU en geheugen er gezond uitzien. Bepaal de poolgrootte op basis van de workload en de databasecapaciteit, niet op basis van het maximumaantal dat een framework accepteert.
Test na de deployment een nieuwe verbinding. Een health endpoint kan bevestigen dat het HTTP-proces actief is zonder te bewijzen dat er een nieuwe databasesessie kan worden opgezet.
De handleiding environment variables en secrets behandelt het roteren van credentials en gemaskeerde output.
Hoe beschermt private networking PostgreSQL-verkeer?
Schakel een private network voor het project in:
dockup network enable production --json
Services en beheerde databases in dat project krijgen stabiele hostnames van het type <slug>.internal. Redeploy de applicatie om de geïnjecteerde interne connection variables te ontvangen.
Verwijder de publieke listener van de database en maak deze uitsluitend privé:
dockup db private production/main-db --json
Herstel publieke plus private toegang wanneer dat nodig is:
dockup db private production/main-db --off --json
Een database uitsluitend privé maken, maakt de container opnieuw aan zonder de data te wijzigen. Plan en controleer deze wijziging als een databasebewerking, niet als een onschuldige DNS-aanpassing.
Private networking bepaalt de route, terwijl PostgreSQL-credentials de identiteit en autorisatie bepalen. Houd beide aan. Afzonderlijke projecten kunnen elkaar niet bereiken, omdat elk project zijn eigen network heeft.
Het artikel private networking en interne domeinen beschrijft de volledige topologie.
Hoe werken PostgreSQL-back-ups en herstel?
Geef bestaande back-ups weer:
dockup db backups production/main-db --json
Start een server-side back-up:
dockup db backup production/main-db --json
De back-upopdracht maakt een databasebewuste back-up in plaats van een hot copy van het onbewerkte volume. Noteer de back-up-ID, het aanmaaktijdstip, de databaserversie en de reden.
Dockup ondersteunt het herstellen van back-ups van beheerde databases via het platform. De huidige CLI-referentie documenteert geen opdracht dockup db restore, dus deze handleiding verzint er geen. Voer het herstel uit via de ondersteunde Dockup-interface, selecteer de exacte back-up, verkrijg goedkeuring voor productie en controleer het resultaat.
Een herstelplan moet het volgende bevatten:
- Herstelpunt en verwachte periode met verloren writes.
- Het gedrag bij het bevriezen van writes door de applicatie of tijdens onderhoud.
- Compatibiliteit van de database en extensions.
- Een verse back-up van de huidige toestand wanneer dat nuttig is.
- Eigenaar van het herstel en goedkeuring.
- Opnieuw verbinden van de applicatie en een smoke test.
- Audit- en incidentregistratie.
Back-ups zijn pas bewezen wanneer een restore drill succesvol is uitgevoerd. Gebruik een non-productiondatabase of een goedgekeurde recoveryomgeving om de procedure te testen.
Bewaar back-ups volgens een goedgekeurd beleid. Verwijder verouderde recovery points alleen via de ondersteunde database-interface, nadat je hebt gecontroleerd dat geen herstel- of compliancevereiste er nog van afhankelijk is.
Hoe werken alleen-lezengebruikers voor PostgreSQL?
Extra alleen-lezengebruikers zijn nuttig voor analytics, supportonderzoek, preview deployments en tools die queries moeten uitvoeren zonder te schrijven.
Geef gebruikers weer:
dockup db users production/main-db --json
Maak een gebruiker aan met een label:
dockup db user-add production/main-db \
--label analytics \
--json
Sla de gegenereerde credential veilig op tijdens het aanmaken en neem deze niet op in een agentrespons. Trek de extra gebruiker in via de ondersteunde interface voor databasegebruikersbeheer wanneer het doel ervan vervalt.
Alleen-lezen op het niveau van databasepermissies is sterker dan een querytool vertellen dat deze niet mag schrijven. De gebruiker houdt wel toegang tot leesbare productiedata, dus privacy- en least-privilege-regels zijn van toepassing.
Dockup maakt automatisch een alleen-lezen databasegebruiker aan voor een PR- of branch-preview in een project met private networking. De preview kan dezelfde productiedatabase bereiken via <slug>.internal en data lezen zonder schrijfrechten te krijgen.
Hoe monitor je grootte, logs en plaatsing?
Controleer de grootte op schijf:
dockup db size production/main-db --json
Bekijk runtime-logs van de applicatie op verbindingsfouten zonder wachtwoorden of volledige connection strings bloot te geven:
dockup logs production/api --json
Databaseonderhoud kan afhankelijke services onbeschikbaar maken. Plan state-changing operations, vereis expliciete operationele goedkeuring en communiceer de impact voordat je handelt.
Verplaats een database tussen nodes met een doel-node-ID:
dockup db migrate production/main-db \
--node <nodeId> \
--json
Migratie is een stateful operation. Controleer de back-upstatus, de verwachtingen rond onderhoud, private-networkverbindingen en de applicatiecontroles na de verplaatsing.
Productiechecklist voor beheerde PostgreSQL
Een volledige runbook legt het volgende vast:
| Gebied | Vereist bewijs |
|---|---|
| Identiteit | Exacte project/db-target |
| Connectiviteit | Geheime connection string en geteste nieuwe sessie |
| Network | Beleid voor publieke, private of uitsluitend private toegang |
| Toegang | Applicatierol en gelabelde alleen-lezengebruikers |
| Capaciteit | Huidige grootte en beoordeling van de groei |
| Back-ups | Recente back-up-ID's en retentie |
| Herstel | Succesvolle restore drill |
| Operations | Goedkeuring voor starten, stoppen, herstarten en migratie |
| Audit | Databasewijzigingen herleidbaar tot een actor |
Een rollback van een applicatiedeployment herstelt PostgreSQL niet. Een databaseherstel draait applicatiecode niet automatisch terug. Coördineer beide alleen wanneer schema-compatibiliteit dat vereist.
Lees voor bredere schaalbeslissingen strategieën voor databasescaling. Gebruik voor exacte opdrachten de Dockup CLI-referentie.
Ontwerp schemamigraties voor deployment en rollback
Applicatiedeployment en wijzigingen aan het databaseschema vinden op verschillende tijdlijnen plaats. Een veilige migratie is doorgaans minstens één release window backward compatible: voeg eerst een nullable column toe voordat deze verplicht wordt, deploy code die met beide schema's kan werken, voer een backfill gecontroleerd uit en verwijder de oude structuur later.
Laat een health check geen langdurige migratie uitvoeren. Als de applicatie meerdere replicas start, zorg er dan voor dat slechts één migration runner de wijziging kan uitvoeren. De exec-opdracht van de PRO-container kan een one-shot command uitvoeren en de echte exitcode doorgeven:
dockup exec "npm run migrate" \
-s production/api \
--json
Gebruik deze alleen wanneer de migratieopdracht is gereviewd en de service op de ondersteunde main server draait. Leg stdout, stderr en de exitcode vast. Een succesvolle applicatiedeployment betekent niet dat een mislukte migratie kan worden genegeerd.
Roteer databasecredentials zonder downtime
Maak de nieuwe credential of alleen-lezengebruiker aan, werk het servicesecret dat deze gebruikt bij, voer een redeploy uit en controleer een nieuwe verbinding voordat je de oude credential intrekt. Bestaande connection pools kunnen een verkeerd nieuw wachtwoord verbergen totdat ze opnieuw verbinden.
Gebruik voor de primaire applicatiecredential de ondersteunde Dockup-interface en het databasebeleid. Maak voor een extra analytische gebruiker een gelabeld account met alleen-lezenrechten aan en verspreid dit uitsluitend onder de goedgekeurde consumer.
Het rotatierecord moet het gebruikerslabel, de consumerende services, deployment-ID's, de verificatiequery, het tijdstip van intrekking en de auditgebeurtenis vermelden—nooit het wachtwoord.
Monitor groei voordat je opschaalt
Databasegrootte is één signaal:
dockup db size production/main-db --json
Combineer dit met de query latency van de applicatie, het aantal verbindingen, cachegedrag, de duur van back-ups en de groei van de opslag. Een grotere CPU- of geheugentoewijzing lost ontbrekende indexes of onbeperkte queries mogelijk niet op.
Lees strategieën voor databasescaling voordat je nodes verplaatst of resources verhoogt. Beheerde PostgreSQL vermindert het provisioningwerk, maar schema- en queryontwerp blijven verantwoordelijkheden van de applicatie.
Maak onderscheid tussen beschikbaarheid en correctheid
Een draaiende databasecontainer bewijst dat PostgreSQL beschikbaar is, niet dat applicatiequeries correct zijn. Neem in de verificatie na een deployment een nieuwe verbinding met laag risico en een representatieve read op. Gebruik voor een writetest een dedicated transaction of een testrecord dat veilig kan worden verwijderd.
De runbook voor beheerde PostgreSQL moet ook aangeven of replicas, analyticsgebruikers, previews of background workers extra druk op het aantal verbindingen veroorzaken.
Beoordeel PostgreSQL-toegang regelmatig
Geef extra gebruikers weer, controleer of elk label een actieve eigenaar heeft en verwijder verouderde accounts. Met deze eenvoudige controle voorkom je dat beheerde PostgreSQL-leestoegang blijft oplopen nadat previews, analyticsprojecten of supportonderzoeken zijn beëindigd.
Begin met een verifieerbare deployment
Maak een PostgreSQL-database voor non-production aan, verbind een testservice via een gemaskeerd secret, maak een back-up en voltooi een restore drill voordat je naar productie overschakelt.
Start gratis op app.dockup.ai. Het Free-plan kost $0 per maand, bevat $10 starttegoed en ondersteunt één workspace, drie databases en drie deployments.
FAQ
Welke typen beheerde databases ondersteunt Dockup?
Dockup ondersteunt PostgreSQL-, MySQL-, MongoDB- en Redis-databases.
Hoe ontvangt een applicatie de connection string voor PostgreSQL?
Behandel de connection string als een secret environment variable, stel deze in op de exacte service en voer een redeploy uit, zodat de nieuwe container deze ontvangt.
Kan Dockup een alleen-lezengebruiker voor PostgreSQL aanmaken?
Ja. De opdracht database user-add maakt een extra alleen-lezengebruiker aan en geeft het wachtwoord één keer terug tijdens het aanmaken.
Is er een gedocumenteerde CLI-opdracht dockup db restore?
De huidige CLI-referentie documenteert er geen. Dockup ondersteunt het herstellen van back-ups via de platforminterface. Gebruik daarom die ondersteunde route in plaats van een flag of opdracht te verzinnen.
Herstelt een rollback van de applicatie ook de PostgreSQL-database?
Nee. De deploymentgeschiedenis van de applicatie en de back-upgeschiedenis van de database zijn afzonderlijke herstelsystemen. Je moet ze coördineren wanneer schemamutaties beide vereisen.
