Le programme client createdb
ne prend pas en charge toutes ces options.
Créez un fichier db_create.sql
:
CREATE DATABASE MydatAbseName
WITH OWNER myadmin
TEMPLATE template0
ENCODING 'SQL_ASCII'
TABLESPACE pg_default
LC_COLLATE 'C'
LC_CTYPE 'C'
CONNECTION LIMIT -1;
Appelez-le :
psql -U postgres postgres -f C:/path/to/db_create.sql
L'astuce ici est de se connecter à la base de maintenance par défaut "postgres" et créez la nouvelle base de données à partir de là. Je le fais avec le superutilisateur par défaut nommé "postgres" dans mon exemple.psql -f
exécute les commandes SQL dans le fichier donné.
Vous pouvez également exécuter une seule commande avec psql -c
(aucun fichier impliqué) :
psql -U postgres postgres -c "CREATE DATABASE MydatAbseName WITH OWNER Myadmin
EMPLATE template ENCODING 'SQL_ASCII' TABLESPACE pg_default LC_COLLATE 'C'
LC_CTYPE C' CONNECTION LIMIT -1"
Plus d'informations sur la création d'une base de données dans le manuel fin ici
et ici
.
En savoir plus sur psql
.
Sous Windows, cela ressemble à ceci :
"C:\Program Files\PostgreSQL\verson_number\bin\psql.exe" -U user -f C:/path/to/db_create.sql postgres
Le dernier "postgres" est le nom de la base de données de maintenance par défaut. Si vous souhaitez l'utiliser dans un fichier de commandes, vous devez répondre à une invite de mot de passe ou vous connecter avec un utilisateur autorisé à accéder sans fournir de mot de passe. Principes de base dans les chapitres Le fichier de mots de passe et Le fichier pg_hba.conf du manuel. Plus ici :