sql >> Databáze >  >> RDS >> PostgreSQL

maven spustí postgres server

PostgreSQL není server pro vložení do paměti. Nelze jej pouze načíst jako knihovnu a spustit.

Budete potřebovat nějaký kontrolní kód testovacího svazku, abyste:

  • initdb dočasný datový adresář

  • Upravte postgresql.conf podle potřeby připojením řádků nebo povolením include_dir a pouštění souborů do něj. Pokud potřebujete pouze triviální konfiguraci, možná budete moci tento krok přeskočit; věci jako port lze nastavit pomocí proměnných prostředí a mnoho dalších lze nastavit pomocí -c příznaků k příkazu spuštění serveru.

  • vygenerovat náhodné číslo portu k použití

  • Spusťte server - spusťte postgres -D the_datadir novou instanci serveru pomocí Java Process řízení. Vlastní konfigurační hodnoty můžete předat pomocí -c a může také nastavit proměnné prostředí pro řízení chování.

  • Připojte se přes JDBC a CREATE DATABASE poté spusťte testovací nastavení

  • Spusťte své testy

  • Zastavte server ukončením procesu, který jste spustili.

  • Smažte datový adresář

Budete chtít provést správu procesů ve třídě s vhodným zpracováním dočasného adresáře, vyčištěním při nečistém ukončení (zabití serveru Pg a smazání datadir při výjimce) atd.

Budu překvapen, když nenajdete konzervovaný kód testovacího postroje, který byste si k tomu mohli půjčit. Zajímalo by mě, jestli bychom měli přidat nějaké do PgJDBC a sbalit to do ovladače? Pokud najdete něco dobrého nebo něco dobrého napíšete, napište mi prosím ping komentářem k této odpovědi a já ji zvážím pro zahrnutí jako užitečnou třídu v PgJDBC.

To znamená, že je mnohem běžnější spouštět testy v nově vytvořené testovací databázi v existující instanci PostgreSQL, která již běží na vašem serveru. Stačí nakonfigurovat svou testovací sadu pomocí uživatelského jména/hesla/hostitele/portu/databáze PostgreSQL (nebo ji nechat připojit k postgres databáze a CREATE a DROP databáze). Koneckonců, nějaká konfigurace bude vždy vyžadována:instalace nebo kompilace PostgreSQL, ujistěte se, že binární soubory jsou na PATH , atd.

Další možností je použití Amazon RDS:Použijte AWS RDS API ke spuštění nové instance PostgreSQL a použijte ji pro své testy. To pravděpodobně není praktické, pokud vaše testy neběží po dlouhou dobu kvůli době nastavení a minimální době běhu, ale je to další možnost, stejně jako podobná služba v Heroku.



  1. mysql nelze spustit v Mgt Development Environment

  2. Spojení na základě podmínek ve více tabulkách

  3. převod skriptů mysql na skript postgresql

  4. Jak funguje funkce MAKE_SET() v MySQL