Administrert PostgreSQL på Dockup: komplett veiledning
Administrert PostgreSQL på Dockup: opprett en database, koble til en tjeneste på en sikker måte, kontroller størrelse og logger, sikkerhetskopier data, gjenopprett trygt og legg til skrivebeskyttede brukere.
Administrert PostgreSQL gir en applikasjon en klargjort database med livssyklusoperasjoner som er uavhengige av tjenestekonteineren. Dockup støtter oppretting, start og stopp, logger, størrelseskontroll, sikkerhetskopiering, gjenoppretting gjennom plattformen, skrivebeskyttede brukere, migrering mellom noder og private nettverk.
Det viktigste driftsprinsippet er separasjon: applikasjonsimaget kan kastes, PostgreSQL-dataene er permanente, påloggingsinformasjon er secrets, og gjenoppretting av databasen må testes uavhengig av rollback av applikasjonen.
Hvordan oppretter du en administrert PostgreSQL-database?
Velg ønsket workspace og opprett deretter databasen:
dockup db create \
--name main-db \
--type postgresql \
--json
List databaser for å bekrefte nøyaktig slug og status:
dockup db list --json
Databaseoperasjoner bruker mål på formen project/db:
dockup db size production/main-db --json
Vent til klargjøringen er fullført før du kobler til en applikasjon. Ikke gjett hostname, port, brukernavn eller passord ut fra databasenavnet.
Free-abonnementet tillater tre databaser i ett workspace og inkluderer $10 i startkreditt. Betalte abonnementer – Hobby til $5, Pro til $20 per måned – tillater ubegrenset antall databaser, workspaces og deployments. Forbruk av CPU, RAM og disk måles per minutt mot den inkluderte brukssaldoen.
Hvordan kobler du til en applikasjon på en sikker måte?
Hent databasetilkoblingsdetaljene fra Dockups databasegrensesnitt, og behandle connection string som en secret. Ikke lim den inn i repositoryet eller agentens transkripsjon.
Angi den på tjenesten:
dockup env set DATABASE_URL="$DATABASE_URL" \
--secret \
-s production/api \
--json
dockup deploy production/api --wait --json
Redeploy er nødvendig fordi prosessen som kjører, mottok miljøet sitt ved oppstart. Den lagrede verdien maskeres når miljøkonfigurasjonen leses.
Konfigurer connection pooling i applikasjonen bevisst. For mange application workers med store pools kan bruke opp databasetilkoblingene selv når CPU- og minnebruken ser sunn ut. Angi pool-størrelsen ut fra arbeidsbelastning og databasekapasitet, ikke ut fra det maksimale antallet et framework godtar.
Test en ny tilkobling etter deployment. Et health-endpoint kan bekrefte at HTTP-prosessen kjører, uten å bevise at en ny databasesesjon kan opprettes.
Veiledningen om miljøvariabler og secrets dekker rotasjon av påloggingsinformasjon og maskert output.
Hvordan beskytter private nettverk PostgreSQL-trafikk?
Aktiver et privat nettverk for prosjektet:
dockup network enable production --json
Tjenester og administrerte databaser i prosjektet får stabile hostnames på formen <slug>.internal. Redeploy applikasjonen for å motta de injiserte interne tilkoblingsvariablene.
Slik fjerner du databasens offentlige listener og gjør den tilgjengelig kun privat:
dockup db private production/main-db --json
Gjenopprett offentlig og privat tilgang når det er nødvendig:
dockup db private production/main-db --off --json
Når databasen gjøres tilgjengelig kun privat, opprettes containeren på nytt mens dataene beholdes. Planlegg og verifiser endringen som en databaseoperasjon, ikke som en ufarlig DNS-endring.
Private nettverk styrer ruten, mens PostgreSQL-påloggingsinformasjon styrer identitet og autorisering. Behold begge deler. Separate prosjekter kan ikke nå hverandre fordi hvert prosjekt har sitt eget nettverk.
Artikkelen om private nettverk og interne domener beskriver hele topologien.
Hvordan fungerer sikkerhetskopiering og gjenoppretting av PostgreSQL?
List eksisterende sikkerhetskopier:
dockup db backups production/main-db --json
Start en server-side sikkerhetskopiering:
dockup db backup production/main-db --json
Sikkerhetskopieringskommandoen oppretter en databasebevisst sikkerhetskopi i stedet for en hot copy av råvolumet. Registrer backup-ID, opprettelsestidspunkt, databaseversjon og årsak.
Dockup støtter gjenoppretting av sikkerhetskopier av administrerte databaser gjennom plattformen. Den gjeldende CLI-referansen dokumenterer ikke en dockup db restore-kommando, så denne veiledningen finner ikke på en. Utfør gjenopprettingen fra det støttede Dockup-grensesnittet, velg den nøyaktige sikkerhetskopien, innhent godkjenning for produksjon og verifiser resultatet.
En plan for gjenoppretting bør inneholde:
- Gjenopprettingspunkt og forventet tidsrom for tapte skrivinger.
- Frysing av skrivinger i applikasjonen eller planlagt vedlikeholdsadferd.
- Kompatibilitet for database og extensions.
- Ny sikkerhetskopi av gjeldende tilstand når det er nyttig.
- Ansvarlig for gjenopprettingen og godkjenning.
- Ny tilkobling fra applikasjonen og smoke test.
- Revisjons- og hendelseslogg.
Sikkerhetskopier er ikke dokumentert som fungerende før en restore drill er gjennomført. Bruk en database utenfor produksjon eller et godkjent gjenopprettingsmiljø til å teste prosedyren.
Behold sikkerhetskopier i tråd med en godkjent policy. Fjern utdaterte gjenopprettingspunkter bare gjennom det støttede databasegrensesnittet, etter at du har bekreftet at ingen krav til gjenoppretting eller compliance fortsatt avhenger av dem.
Hvordan fungerer skrivebeskyttede PostgreSQL-brukere?
Ekstra skrivebeskyttede brukere er nyttige for analytics, supportundersøkelser, preview-deployments og verktøy som må lese data uten å skrive.
List brukere:
dockup db users production/main-db --json
Opprett en med en label:
dockup db user-add production/main-db \
--label analytics \
--json
Ta vare på den genererte påloggingsinformasjonen på en sikker måte under opprettingen, og ikke gjengi den i et agentsvar. Tilbakekall den ekstra brukeren gjennom det støttede grensesnittet for brukeradministrasjon av databasen når formålet er avsluttet.
Skrivebeskyttet tilgang på databasens tillatelsesnivå er sterkere enn å be et query-verktøy om «ikke å skrive». Tilgangen gir fortsatt mulighet til å lese produksjonsdata, så regler for personvern og minste privilegium gjelder.
Dockup oppretter automatisk en skrivebeskyttet databasebruker for en PR- eller branch-preview i et prosjekt med private nettverk. Previewet kan nå den samme produksjonsdatabasen på <slug>.internal og lese data uten å få skrivetilgang.
Hvordan overvåker du størrelse, logger og plassering?
Kontroller størrelse på disk:
dockup db size production/main-db --json
Se gjennom logger fra applikasjonens runtime for tilkoblingsfeil uten å eksponere passord eller fullstendige connection strings:
dockup logs production/api --json
Databasevedlikehold kan gjøre avhengige tjenester utilgjengelige. Planlegg operasjoner som endrer tilstanden, krev eksplisitt operasjonell godkjenning og kommuniser konsekvensene før du utfører dem.
Flytt en database mellom noder med en mål-node-ID:
dockup db migrate production/main-db \
--node <nodeId> \
--json
Migrering er en stateful operasjon. Bekreft status for sikkerhetskopiering, forventet vedlikehold, tilkoblinger via private nettverk og kontroller av applikasjonen etter flyttingen.
Sjekkliste for administrert PostgreSQL i produksjon
En komplett runbook dokumenterer:
| Område | Påkrevd dokumentasjon |
|---|---|
| Identitet | Nøyaktig project/db-mål |
| Tilkobling | Hemmelig connection string og testet ny sesjon |
| Nettverk | Policy for offentlig, privat eller kun privat tilgang |
| Tilgang | Applikasjonsrolle og navngitte skrivebeskyttede brukere |
| Kapasitet | Gjeldende størrelse og gjennomgang av vekst |
| Sikkerhetskopier | Nylige backup-ID-er og oppbevaring |
| Gjenoppretting | Gjennomført og vellykket restore drill |
| Drift | Godkjenning av start, stopp, restart og migrering |
| Revisjon | Databaseendringer som kan spores til en aktør |
Rollback av applikasjonsdeployment gjenoppretter ikke PostgreSQL. Gjenoppretting av databasen ruller ikke automatisk tilbake applikasjonskode. Koordiner begge deler bare når skjemakompatibilitet krever det.
Les strategier for databaseskalering for bredere skaleringsbeslutninger. Bruk Dockup CLI-referansen for nøyaktige kommandoer.
Utform skjemamigreringer for deployment og rollback
Applikasjonsdeployment og endringer i databaseskjema skjer på ulike tidslinjer. En trygg migrering er vanligvis bakoverkompatibel i minst ett release-vindu: legg til en nullable-kolonne før du gjør den obligatorisk, deploy kode som kan håndtere begge skjemaene, backfill i en kontrollert prosess og fjern den gamle strukturen senere.
Ikke la en health check utføre en lang migrering. Hvis applikasjonen starter flere replicas, må du sørge for at bare én migration runner kan eie endringen. PRO-containerens exec-kommando kan kjøre en engangskommando og videreføre den faktiske exit-koden:
dockup exec "npm run migrate" \
-s production/api \
--json
Bruk den bare når migreringskommandoen er gjennomgått og tjenesten kjører på den støttede hovedserveren. Registrer stdout, stderr og exit-kode. Et vellykket applikasjonsdeployment betyr ikke at en mislykket migrering kan ignoreres.
Roter databasepåloggingsinformasjon uten driftsavbrudd
Opprett den nye påloggingsinformasjonen eller den skrivebeskyttede brukeren, oppdater servicen som bruker den, deploy på nytt og verifiser en ny tilkobling før du tilbakekaller den gamle påloggingsinformasjonen. Eksisterende connection pools kan skjule et feil nytt passord frem til de kobler til på nytt.
For applikasjonens primære påloggingsinformasjon skal du bruke det støttede Dockup-grensesnittet og databasepolicyen. For en ekstra analytisk bruker oppretter du en navngitt, skrivebeskyttet konto og distribuerer den bare til den godkjente konsumenten.
Rotasjonsloggen bør inneholde brukerens label, tjenester som bruker den, deployment-ID-er, verifiseringsspørring, tidspunkt for tilbakekalling og revisjonshendelse – aldri passordet.
Følg med på veksten før du skalerer
Databasestørrelse er ett signal:
dockup db size production/main-db --json
Se den i sammenheng med spørringsforsinkelse i applikasjonen, antall tilkoblinger, cache-adferd, varighet på sikkerhetskopieringen og lagringsvekst. En større CPU- eller minnetildeling løser kanskje ikke manglende indekser eller spørringer uten begrensning.
Les strategier for databaseskalering før du flytter noder eller øker ressursene. Administrert PostgreSQL reduserer arbeidet med klargjøring, men skjema- og spørringsdesign er fortsatt applikasjonens ansvar.
Skill mellom tilgjengelighet og korrekthet
En databasecontainer som kjører, beviser at PostgreSQL er tilgjengelig, men ikke at applikasjonsspørringene er korrekte. Inkluder en risikofattig ny tilkobling og en representativ lesing i verifiseringen etter deployment. For en skrivetest bør du bruke en dedikert transaksjon eller testpost som kan fjernes på en trygg måte.
Runbooken for administrert PostgreSQL bør også angi om replicas, analytics-brukere, previews eller background workers skaper ekstra belastning på tilkoblingene.
Gjennomgå PostgreSQL-tilgang regelmessig
List ekstra brukere, bekreft at hver label har en aktiv eier, og fjern utdaterte kontoer. Denne enkle gjennomgangen hindrer at lesetilgang i administrert PostgreSQL hoper seg opp etter at previews, analytics-prosjekter eller supportundersøkelser er avsluttet.
Start med et deployment som kan verifiseres
Opprett en PostgreSQL-database utenfor produksjon, koble til en testtjeneste gjennom en maskert secret, ta en sikkerhetskopi og gjennomfør en restore drill før du setter løsningen i produksjon.
Kom i gang gratis på app.dockup.ai. Free-abonnementet koster $0 per måned, inkluderer $10 i startkreditt og støtter ett workspace, tre databaser og tre deployments.
Vanlige spørsmål
Hvilke typer administrerte databaser støtter Dockup?
Dockup støtter administrerte databaser for PostgreSQL, MySQL, MongoDB og Redis.
Hvordan bør en applikasjon motta connection string for PostgreSQL?
Behandle connection string som en secret-miljøvariabel, angi den på den nøyaktige tjenesten og deploy på nytt slik at den nye containeren mottar den.
Kan Dockup opprette en skrivebeskyttet PostgreSQL-bruker?
Ja. Kommandoen for å legge til en databasebruker oppretter en ekstra skrivebeskyttet bruker og returnerer passordet én gang ved oppretting.
Finnes det en dokumentert dockup db restore CLI-kommando?
Den gjeldende CLI-referansen dokumenterer ikke en slik kommando. Dockup støtter gjenoppretting av sikkerhetskopier gjennom plattformgrensesnittet, så bruk denne støttede fremgangsmåten i stedet for å finne på et flagg eller en kommando.
Gjenoppretter rollback av applikasjonen PostgreSQL-databasen?
Nei. Historikken for applikasjonsdeployments og historikken for databasesikkerhetskopier er separate gjenopprettingssystemer og må koordineres når skjem endringer krever begge deler.
