Das liegt nicht an der Treiberimplementierung, sondern an PostgreSQL selbst. Dasselbe gilt für jede andere Sprache oder jeden anderen Treiber.
Ein Client muss mit einer Datenbank verbunden sein, um irgendetwas zu tun, einschließlich eines CREATE DATABASE
. Neben dem postgres
Datenbank, template1
wird auch oft für diesen Zweck verwendet.
Da Sie sich dann mit der neu erstellten Datenbank verbinden müssen, um darin Objekte zu erstellen, gibt es keine Möglichkeit, das Öffnen einer weiteren Verbindung zu vermeiden.
Kurz gesagt, was Sie tun, kann nicht vereinfacht werden, es ist bereits optimal.