これは、ドライバーの実装によるものではなく、PostgreSQL自体です。他の言語やドライバーでも同じです。
CREATE DATABASE
を含む何かを行うには、クライアントをデータベースに接続する必要があります 。 postgres
の他に データベース、template1
この目的にもよく使用されます。
次に、新しく作成したデータベースに接続してその中にオブジェクトを作成する必要があるため、別の接続を開くことを回避する方法はありません。
要するに、あなたがしていることは単純化することはできず、すでに最適です。