Erstellen Postgres-Datenbank mit batch-Datei mit dem [template],[encoding],[owner] und ein .sql-Datei
Ich möchte erstellen Sie eine Postgres-Datenbank mithilfe einer batch-Datei. Nun der normale Weg, dies zu tun, ist die folgende:
"C:\Program Files\PostgreSQL\9.0\bin\createdb.exe" -U Myadmin MydatAbseName
Diese obige Skript erstellt eine Datenbank mit den default-Parameter aus der Datenbank. Allerdings möchte ich eine Datenbank erstellen, mit der Sie die folgenden Parameter wie folgt:
WITH OWNER = Myadmin
TEMPLATE = template0
ENCODING = 'SQL_ASCII'
TABLESPACE = pg_default
LC_COLLATE = 'C'
LC_CTYPE = 'C'
CONNECTION LIMIT = -1;
Bitte sagen Sie mir, wie Sie eine Datenbank erstellen, mit den oben genannten Parametern mit Batch-Dateien.
Auch lassen Sie mich wissen, wie Sie ein .sql-Datei, das gleiche zu tun, wie dieser command-line:
"C:\Program Files\PostgreSQL\9.0\bin\createdb.exe" -U Myadmin -f C:\createDB.sql;
InformationsquelleAutor PresleyDias | 2011-11-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Client-Programm
createdb
unterstützt nicht alle diese Optionen.Erstellen Sie eine Datei
db_create.sql
:Nennen es:
Der trick hier ist, um eine Verbindung zu den Standard-Wartung db "postgres" und erstellen Sie die neue Datenbank aus. Ich mache es mit der Standard superuser mit dem Namen "postgres" in meinem Beispiel.
psql -f
führt die SQL-Befehle in der angegebenen Datei.Könnten Sie auch nur einen einzigen Befehl auszuführen mit
psql -c
(no file):Mehr über das erstellen einer Datenbank in das Handbuch hier und hier.
Mehr auf psql.
Unter Windows, es sieht wie folgt aus:
Den letzten "postgres" ist der name der Standard-Wartung db.
Wenn Sie möchten, um es in eine batch-Datei, die Sie zu beantworten haben, ein Passwort oder eine Verbindung mit einem Benutzer, der zugreifen darf, ohne ein Kennwort. Grundlagen in den Kapiteln Die Passwort-Datei und Die pg_hba.conf-Datei in der Bedienungsanleitung. Mehr hier:
meine .sql-Datei hat den folgenden Inhalt ________________________________________ DATENBANK ERSTELLEN MydatAbseName MIT dem BESITZER nansis_Admin VORLAGE Vorlage ENCODING SQL_ASCII' TABLESPACE pg_default LC_COLLATE " C "LC_CTYPE" C " - VERBINDUNG BEGRENZEN -1; __________________________________________-- für die zweite Methode, die keine Datenbank erstellt wird, bitte helfen, danke für die schnelle Antwort aber 🙂
Sie haben
psql
zweimal in Ihrem Befehl. Versuchen:"C:\Program Files\PostgreSQL\9.0\bin\psql.exe" postgres -U nansis_admin -f 'C:\createDB.sql'
. Funktioniert nur, wenn Benutzernansis_admin
hat die erforderlichen Berechtigungen.Hey mein bad:), aber ich habe versucht, diese "C:\Program Files\PostgreSQL\9.0\bin\psql.exe" postgres -U nansis_admin -f 'C:\createDB.sql" aber noch msg kommt auf die Ausführung der bat-Datei C:\>"C:\Program Files\PostgreSQL\9.0\bin\psql.exe" postgres -U nansis_admin -f 'C:\createDB.sql' psql: Warnung: zusätzliche command-line-argument "nansis_admin" ignoriert psql: Warnung: zusätzliche Kommandozeilen-argument "-f" ignoriert psql: Warnung: zusätzliche command-line-argument "'C:\createDB.sql'" ignoriert das Kennwort für den Benutzer -U: nansis_admin der superuser
Ich habe etwas mehr auf meine Antwort.
InformationsquelleAutor Erwin Brandstetter