Run PostgreSQL w procesie tła.
Uruchom osobny wątek w swojej aplikacji, który uruchamia serwer PostgreSQL w trybie lokalnym poprzez powiązanie go z localhost za pomocą losowego wolnego portu lub za pomocą gniazd (czy obsługuje gniazda windows?). To powinno być dość łatwe, takie jak:
system ("C: \ Program Files \ MyApplication \ pgsql \ postgres.exe -DC: \ Documents and Settings \ User \ Local Settings \ MyApplication \ database -h 127.0.0.1 -p 12345 ");
, a następnie po prostu połącz z 127.0.0.1:12345.
Po zamknięciu aplikacji zawsze możesz wysłać SIGTERM do wątku, a następnie poczekać kilka sekund, aż postgresql zakończy pracę (tzn. Dołączy do wątku).
PS: Możesz również użyć pg_ctl do kontrolowania swojej "osadzonej" bazy danych, nawet bez wątków, po prostu wykonuj "pg_ctl start" (z odpowiednimi opcjami), gdy uruchamiasz aplikację i "pg_ctl stop", gdy wychodzisz.
Co jest z CaNs RaNdOm? –
Brak losowych czapek tam. Najwyraźniej się pomyliłem, chociaż widzę. – pc1oad1etter
Zamiast dosłownie go osadzać, możesz zainstalować go razem z programem i uruchamiać go tylko podczas pracy programu? –