Neue Datenbank per Kommandozeile anlegen

Hey ihr,

gibts es eine Möglichkeit eine neue Datenbank per Kommando-Zeilen-Befehl anzulegen. Mein Problem ist folgendes: ich muss Postgres auf Rechnern per Kommandozeile installieren und auch initiallisieren. Die Installation funktioniert soweit über den Silent Install per Kommando-Zeile.
Nun ist es notwendig dass sich der Postgres Data Base Server mit dem zuvor bei der Installation gegebenen Anmeldedaten connected und anschließend eine neue Datenbank erzeugt wird.
Da das alles “automatisch” und für den Benutzer im Hintergrund ablaufen soll wäre es klasse wenn das mittels Kommando-Zeile laufen könnte (—> Batch-File?!). Kann mir da jemand was dazu sagen??

Grüße,
Markus

Unter *NIX geht das mit createdb, ich vermute mal, du hast Windoze, aber da sollte das auch gehen.

Andreas

japs, ich hab windoofs.
kann man diese funktionalitäten irgendwo nachlesen???

gibt es das Kommando? Hat es eine Online-Hilfe?

Unter Linux gibt es eine man-page, ich könnte diese irgendwo hinkopieren. Soll ich?

Andreas

das wäre klasse… vielleicht hilft mir das ja dann weiter!

http://a-kretschmer.de/createdb.pdf

Super… danke Dir. Werd gleich mal nach dem Mittagessen ausprobieren ob ich damit weiterkomm…!

Hallo
Der Beitrag ist zwar nicht mehr taufrisch, aber für die, welche vor einem ähnlichen Problem stehen:
Mit dem Kommandozeilen-Tool ‘psql’ kann man eine beliebige Datenbank ansprechen: Aus der man page (Linux, aber genauso unter Windows)

psql [OPTION]… [DBNAME [BENUTZERNAME]]

bzw.

psql -d DbName -f DateiName -h HostName -p Port -U UserName

In DateiName können Kommandos an die Datenbank stehen, also ‘\c’ (und ähnliche) Kommados, genauso wie SQL-Statements.

Details mit psql -c \? -d postgres -h localhost

Natürlich bei laufendem PostgreSQL - Server auf localhost

psql wird im Normalfall mitinstalliert, steht aber nicht im Suchpfad, sodaß der Pfad mit anzugeben ist (Windows)

[quote=“GWB”]Hallo
Der Beitrag ist zwar nicht mehr taufrisch, aber für die, welche vor einem ähnlichen Problem stehen:
Mit dem Kommandozeilen-Tool ‘psql’ kann man eine beliebige Datenbank ansprechen: Aus der man page (Linux, aber genauso unter Windows)

Es war gefragt, wie man eine neue DB anlegt, nicht, wie man eine vorhandene anspricht.

Andreas

Hallo Andreas,

einfach mal lesen, was Dir die Hilfe in psql anzeigt

?

oder

\h

Du kannst alles damit machen!

In meinen Buch PostgreSQL 7.x wird alles mit diesem Tool gemacht :slight_smile:

Hi,

worüber Anfänger unter Windows wohl häufiger stolpern ist die Tatsache, dass psql versucht, sich (in die Datenbank) mit dem Namen des aktuellen Windowsbenutzers einzuloggen, also die Verwendung der Option “-U” zwingend notwendig ist.

Nett finde ich auch die Option, “interne” psql Kommandos direkt in der Kommandozeile abzusetzen, wenn man sich z.B. die Rechte aller User auf eine Datenbank anzeigen lassen will:

psql -U --command “\z” --pset format=html --output output.html

pgAdmin III zeigt ja auch schön den notwendigen SQL-Befehl zur Erstellung an, wenn man auf ein Objekt klickt. ^^

Zumindest unter Unix gibt es dafür einen Shell Befehl namens ‘createdb’.

PostgreSQL: Documentation: Manuals: PostgreSQL 8.3: createdb