PostgreSQL mit einer Datei füttern

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
Columbus
Beiträge: 1051
Registriert: 30.04.2002 15:25:02
Wohnort: Mainz
Kontaktdaten:

PostgreSQL mit einer Datei füttern

Beitrag von Columbus » 06.01.2006 15:59:53

Hallo und prost Neujahr nachträglich,
ich wollte mal kurz fragen, ob es eine Möglichkeit gibt mit PostgreSQL eine Datenbank mit Hilfe eines Scriptes anzulegen. Also in diesem Script befinden sich die SQL-Befehle die Tabellen anzulegen und Relationen usw. herzustellen. Ist das möglich?

Gruss Christian
Die größten Kritiker der Elche,
waren früher selber welche.

F.W. Bernstein

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 06.01.2006 16:16:07

Es gibt wahrscheinlich keine SQL-Datenbank, die kein Tool zum Ausführen von SQL-Scripts zur Verfügung stellt.
PostgreSQL ist ein DBMS welches ich zwar weniger gut kenne, daher könnte es sein, daß es auch andere Möglichkeit gibt, aber folgendes funktioniert auf alle Fälle:

Code: Alles auswählen

psql -f <pathtoscript>
Gruß
gms

Neo_0815
Beiträge: 553
Registriert: 07.01.2005 15:29:22

Beitrag von Neo_0815 » 06.01.2006 18:32:01

psql < scriptname funktioniert auch.

Gruß

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Re: PostgreSQL mit einer Datei füttern

Beitrag von meandtheshell » 06.01.2006 20:09:09

Columbus hat geschrieben: ich wollte mal kurz fragen, ob es eine Möglichkeit gibt mit PostgreSQL eine Datenbank mit Hilfe eines Scriptes anzulegen.
absolutely! - du kannst von der CL (command line d.h. Standart Input) oder aus einem File lesen bzw. irgendwas an den Deskriptor binden.
http://www.postgresql.org/docs/8.1/inte ... -psql.html

Verwenden kannst du dann alle möglichen Befehle
http://www.postgresql.org/docs/8.1/inte ... lient.html
usw.

Wobei das dumpen und restoren OHNE den Datenbank Server stopen zu müssen sicher eine der besten Sachen ist
http://www.postgresql.org/docs/8.1/inte ... gdump.html

markus

Benutzeravatar
Columbus
Beiträge: 1051
Registriert: 30.04.2002 15:25:02
Wohnort: Mainz
Kontaktdaten:

Beitrag von Columbus » 07.01.2006 13:18:11

Wunderbar, danke.
Ich denke damit werden wir weiterkommen.

Gruss Christian
Die größten Kritiker der Elche,
waren früher selber welche.

F.W. Bernstein

Benutzeravatar
Columbus
Beiträge: 1051
Registriert: 30.04.2002 15:25:02
Wohnort: Mainz
Kontaktdaten:

Beitrag von Columbus » 07.01.2006 14:21:10

Was wir eventuell noch brauchen wäre ein Editor, der eine syntaktische Prüfung von SQL-Statements durchführt. So etwas wie die TOAD für Windows!?!

Gruss Christian
Die größten Kritiker der Elche,
waren früher selber welche.

F.W. Bernstein

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 07.01.2006 15:19:42

Columbus hat geschrieben:Was wir eventuell noch brauchen wäre ein Editor, der eine syntaktische Prüfung von SQL-Statements durchführt. So etwas wie die TOAD für Windows!?!

Gruss Christian
hehe

eeeeeeeeeeeeeeeeeeeeeeemacs :idea:

Code: Alles auswählen

M-x sql-mode
http://www.emacswiki.org/cgi-bin/wiki/CategorySql

Da ich ja lange emacs Verweigerer war (diverse Gründe) muss ich heute einfach sagen das er Sinn macht. Seit 2 Monaten beschäftige ich mich intensiv und nur mehr außschließlich mit emacs. Da wird sich auch nichts mehr ändern.

markus (der nicht auf eine Editor Diskussion einsteigen wird!)

Benutzeravatar
Columbus
Beiträge: 1051
Registriert: 30.04.2002 15:25:02
Wohnort: Mainz
Kontaktdaten:

Beitrag von Columbus » 07.01.2006 19:41:24

Wonach ich bisher auch noch vergeblich gekuckt habe, ist ein SQL-Befehl der mir alle Tabellen anzeigt. Nicht unbedingt mit Inhalt, sondern nur zu Übersicht, welche Tabellen zur Zeit bestehen.

Gruss Christian
Die größten Kritiker der Elche,
waren früher selber welche.

F.W. Bernstein

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 08.01.2006 17:43:58

Puh, das musst du aus den pg_* Tabellen rausholen. In psql kannst du dir alle Tabellen mittels \dt anzeigen lassen.
Folgendes liefert dir alle Tabellen einer Datenbank ohne die Systemtabellen:

Code: Alles auswählen

SELECT tablename FROM pg_tables WHERE tablename NOT ILIKE 'pg_%';

Benutzeravatar
Columbus
Beiträge: 1051
Registriert: 30.04.2002 15:25:02
Wohnort: Mainz
Kontaktdaten:

Beitrag von Columbus » 09.01.2006 17:12:06

Also ich meinte nicht alle Tabellen von allen Datenbanken einer Installation. Ich wollte mir einfach zur Übersicht mal anzeigen lassen, welche Tabellen, meine aktuelle Datenbank test1 so hat.

Gruss Christian
Die größten Kritiker der Elche,
waren früher selber welche.

F.W. Bernstein

Neo_0815
Beiträge: 553
Registriert: 07.01.2005 15:29:22

Beitrag von Neo_0815 » 10.01.2006 05:15:00

Columbus hat geschrieben:Also ich meinte nicht alle Tabellen von allen Datenbanken einer Installation. Ich wollte mir einfach zur Übersicht mal anzeigen lassen, welche Tabellen, meine aktuelle Datenbank test1 so hat.

Gruss Christian
\d

Wie schon oben geschrieben.

Gruß

Benutzeravatar
Columbus
Beiträge: 1051
Registriert: 30.04.2002 15:25:02
Wohnort: Mainz
Kontaktdaten:

Beitrag von Columbus » 06.02.2006 11:02:02

Noch mal zurückzukommen auf:
psql -f <pathtoscript>
In welche Datenbank würde dann der Code geschrieben, der in dieser Datei steht?
Oder muß ich die Datenbank auch immer in der Datei anlegen ( also createdb testX in der ersten Zeile ) ?

Nehmen wir mal an ich hätte schon eine Datei mit dem Namen testX angelegt, wie kann ich es klarmachen, daß der Code, der in der Datei steht, in die Datenbank testX geht?

Gruss Christian
Die größten Kritiker der Elche,
waren früher selber welche.

F.W. Bernstein

Neo_0815
Beiträge: 553
Registriert: 07.01.2005 15:29:22

Beitrag von Neo_0815 » 23.02.2006 15:20:13

psql --help

Also das ist nun wirklich topp beschrieben.

Gruß

Benutzeravatar
Columbus
Beiträge: 1051
Registriert: 30.04.2002 15:25:02
Wohnort: Mainz
Kontaktdaten:

Beitrag von Columbus » 23.02.2006 22:16:32

Ja, sorry. Ich habs auch schon länst. War mal wieder hecktisch und ich hatte keine Nerven für Hilfstexte und man-pages.

Gruss Christian
Die größten Kritiker der Elche,
waren früher selber welche.

F.W. Bernstein

Antworten