Nie jest to spowodowane implementacją sterownika, ale samym PostgreSQL. Tak samo jest z każdym innym językiem lub sterownikiem.
Klient musi być połączony z bazą danych, aby cokolwiek zrobić, w tym CREATE DATABASE
. Poza postgres
baza danych, template1
jest często używany również w tym celu.
Następnie, ponieważ musisz połączyć się ze świeżo utworzoną bazą danych, aby utworzyć w niej obiekty, nie ma możliwości uniknięcia otwarcia innego połączenia.
Krótko mówiąc, to, co robisz, nie może być uproszczone, jest już optymalne.