sql >> Database teknologi >  >> RDS >> PostgreSQL

maven start postgres server

PostgreSQL er ikke en indlejret server i hukommelsen. Det kan ikke bare indlæses som et bibliotek og køre.

Du skal bruge en kontrolkode for testsele for at:

  • initdb en midlertidig datadir

  • Rediger postgresql.conf efter behov ved at tilføje linjer eller ved at aktivere en include_dir og slippe filer i den. Hvis du kun har brug for en triviel konfiguration, kan du muligvis springe dette trin over; ting som port kan indstilles via miljøvariabler, og mange andre kan indstilles med -c flag til serverstartkommandoen.

  • generere et tilfældigt portnummer til brug

  • Start serveren - kør postgres -D the_datadir en ny serverinstans ved hjælp af Javas Process ledelse. Du kan sende brugerdefinerede konfigurationsværdier med -c og kan også indstille miljøvariabler til at kontrollere adfærd.

  • Opret forbindelse via JDBC og CREATE DATABASE kør derefter din testopsætning

  • Kør dine tests

  • Stop serveren ved at dræbe den proces, du startede.

  • Slet datadirigenten

Du vil gerne udføre processtyringen i en klasse med passende midlertidig mappehåndtering, oprydning ved uren afslutning (dræb Pg-serveren og slet datadirigenten ved undtagelse), osv.

Jeg vil blive overrasket, hvis du ikke kan finde en prøveselekode på dåse til at låne til dette. Jeg spekulerer på, om vi skal tilføje nogle til PgJDBC og samle det i driveren? Hvis du finder noget godt, eller skriver noget godt, så ping mig venligst ved at kommentere dette svar, og jeg vil overveje det til medtagelse som en hjælpeklasse i PgJDBC.

Når det er sagt, er det meget mere almindeligt i stedet at køre dine tests i en nyoprettet testdatabase i en eksisterende PostgreSQL-instans, der allerede kører på din server. Du konfigurerer bare din testpakke med et PostgreSQL brugernavn/adgangskode/host/port/database (eller lader den oprette forbindelse til postgres database og CREATE og DROP databasen). Når alt kommer til alt, vil der altid være behov for en vis konfiguration:installation eller kompilering af PostgreSQL, sørg for at binære filer er på PATH osv.

En anden mulighed er at bruge Amazon RDS:Brug AWS RDS API'erne til at starte en ny PostgreSQL-instans og bruge den til dine tests. Dette er sandsynligvis ikke praktisk, medmindre dine test kører i lang tid på grund af opsætningstiden og den minimale køretid, men det er en anden mulighed, ligesom den lignende service hos Heroku.



  1. Sådan tilføjes Computed Column i SQL Server Table - SQL Server / T-SQL vejledning del 47

  2. Hvordan opretter jeg en indlejret funktion i PL/pgSQL?

  3. skal jeg genbruge markøren i python MySQLdb-modulet

  4. Sådan bruger du PHP til at oprette forbindelse til sql-serveren