PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment initialiser une base de données PostgreSQL sans exécuter le serveur PostgreSQL

Vous recherchez mono-utilisateur mode .

Si vous démarrez PostgreSQL de cette manière, vous êtes une session connectée en tant que superutilisateur qui attend les instructions SQL sur l'entrée standard. Dès que vous vous déconnectez (avec fin de fichier), le processus serveur est stoppé.

Vous pouvez donc le faire comme ceci (avec 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