このようにPostgreSQLを起動すると、標準入力でSQLステートメントを待機するスーパーユーザーとして接続されたセッションになります。 (ファイルの終わりで)切断するとすぐに、サーバープロセスが停止します。
したがって、このように行うことができます(bash
を使用) ):
postgres --single -D /usr/local/pgsql/data postgres <<-"EOF"
CREATE USER ...;
CREATE DATABASE somedb ...;
EOF
postgres --single -D /usr/local/pgsql/data somedb <<-"EOF"
CREATE EXTENSION ...;
EOF