Det är inte på grund av drivrutinsimplementeringen, det är PostgreSQL i sig. Det är samma sak med alla andra språk eller drivrutiner.
En klient måste vara ansluten till en databas för att kunna göra något, inklusive en CREATE DATABASE
. Förutom postgres
databas, template1
används ofta även för detta ändamål.
Sedan, eftersom du måste ansluta till den nyskapade databasen för att skapa objekt i den, finns det inget sätt att undvika att öppna en annan anslutning.
Kort sagt, det du gör kan inte förenklas, det är redan optimalt.