Créer la base de données Postgres à l'aide de fichier de commandes avec [modèle],[encodage],[le propriétaire] et un .fichier sql
Je veux créer une base de données Postgres à l'aide d'un fichier de commandes. Maintenant, la façon normale de faire est le suivant:
"C:\Program Files\PostgreSQL\9.0\bin\createdb.exe" -U Myadmin MydatAbseName
Ce script ci-dessus crée une base de données avec la base de données par défaut des paramètres. Cependant, je veux créer une base de données avec les paramètres suivants, comme suit:
WITH OWNER = Myadmin
TEMPLATE = template0
ENCODING = 'SQL_ASCII'
TABLESPACE = pg_default
LC_COLLATE = 'C'
LC_CTYPE = 'C'
CONNECTION LIMIT = -1;
S'il vous plaît dites-moi comment faire pour créer une base de données avec les paramètres ci-dessus en utilisant des fichiers Batch.
Aussi laissez-moi savoir comment utiliser un .fichier sql à faire de même, comme cette ligne de commande:
"C:\Program Files\PostgreSQL.0\bin\createdb.exe" -U Myadmin -f C:\createDB.sql;
OriginalL'auteur PresleyDias | 2011-11-21
Vous devez vous connecter pour publier un commentaire.
Le programme client
createdb
ne supporte pas toutes ces options.Créer un fichier
db_create.sql
:L'appeler:
L'astuce ici est de se connecter à la défaut d'entretien db "postgres" et de créer la nouvelle base de données à partir de là. Je le fais avec le défaut de super-utilisateur 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
(pas de fichier impliqués):Plus sur la création d'une base de données dans le manuel approprié ici et ici.
Plus sur psql.
Sur Windows, il ressemble à quelque chose comme ceci:
Le dernier "postgres" est le nom par défaut d'entretien de la db.
Si vous voulez l'utiliser dans un fichier de commandes que vous avez à répondre à une invite de mot de passe ou de se connecter avec un utilisateur est autorisé à accéder sans mot de passe. Notions de base dans les chapitres Le Fichier De Mot De Passe et Le pg_hba.Fichier conf du manuel. Plus ici:
mon .fichier sql a le contenu suivant ________________________________________ CRÉER une BASE de données MydatAbseName AVEC le PROPRIÉTAIRE nansis_Admin MODÈLE de modèle de CODAGE 'SQL_ASCII' TABLESPACE pg_default LC_COLLATE " C " LC_CTYPE, 'C' LIMITE de CONNEXION -1; __________________________________________-- pour la deuxième méthode, les pas de base de données est créé, s'il vous plaît aider merci pour la réponse rapide 🙂
vous avez
psql
deux fois dans votre commande. Essayez:"C:\Program Files\PostgreSQL\9.0\bin\psql.exe" postgres -U nansis_admin -f 'C:\createDB.sql'
. Ne fonctionne que si l'utilisateurnansis_admin
a les droits requis.Hey mon mal:) mais j'ai essayé ce "C:\Program Files\PostgreSQL\9.0\bin\psql.exe" postgres -U nansis_admin -f 'C:\createDB.sql" mais encore msg vient sur l'exécution du fichier bat C:\>"C:\Program Files\PostgreSQL\9.0\bin\psql.exe" postgres -U nansis_admin -f 'C:\createDB.sql' psql: avertissement: extra argument de ligne de commande "nansis_admin" ignoré psql: avertissement: extra argument de ligne de commande "-f" ignoré psql: avertissement: extra argument de ligne de commande "'C:\createDB.sql'" ignoré Mot de passe pour l'utilisateur U: nansis_admin est le super-utilisateur
J'ai ajouté un peu plus de ma réponse.
OriginalL'auteur Erwin Brandstetter