Postgres |
linux # apt-get install postgresql
linux $ su - Passwort: linux # su - postgres linux $ psql psql (9.1.1) Geben Sie help für Hilfe ein. postgres=#Sie können die Datenbankkommandozeile mit Strg-D (ctrl-D) oder \q wieder verlassen. Aber zunächst soll ein Datenbankbenutzer angelegt werden.
Mit dem Befehl CREATE USER kann ein Datenbankbenutzer angelegt, mit DROP USER kann er wieder gelöscht werden. Notwendiger Parmaeter ist der Benutzername.
Als weiterer Parameter kann ihm ein Passwort zugewiesen werden, es kann die Erlaubnis erteilt werden, einen Benutzer oder eine Datenbank anzulegen.
CREATE USER name [ PASSWORD 'password' ] [ CREATEDB|NOCREATEDB ] | [ CREATEUSER|NOCRERATEUSER ]Ist der Benutzer auch Benutzer des Betriebssystems, kann dieser anschließend psql aufrufen, so wie das bisher nur dem Benutzer postgres möglich war.
Eine Änderung dieser Paramter ist mit dem Befehl ALTER USER wieder mit dem Benutzernamen als Parameter möglich.
Dem Benutzer werden mit dem Befehl GRANT Rechte zugewiesen, per REVOKE entzogen.
Das Anlegen einer Datenbank wird durch das Programm createdb von der Kommandozeile des Betriebssystems aus gemacht. Den Befehl darf nur ein Benutzer ausführen, der eine Berechtigung dazu hat.
linux $ createdb mydb
Nun kann der Kommandozeileninterpreter von PostgreSQL aufgerufen werden. Dieser erwartet als Parameter die Datenbank.
linux $ psql mydb psql (9.1.1) Geben Sie »help« für Hilfe ein. mydb=#Nach dem Verlassen durch Strg-D oder \q kann die Datenbank mit dem Programm dropdb wieder gelöscht werden.
Arbeiten mit PostgreSQL
Innerhalb des Kommandointerpreters psql können
SQL-Kommandos abgesetzt werden.
Neben den
SQL-Standard-Befehlen
gibt es besondere Befehle, die mit dem Backslash eingeleitet werden:
| \h | Hilfe zu SQL-Anweisungen |
| \? | Hilfe zu internen Anweisungen |
| \g oder Semikolon | schließt eine Anfrage ab |
| \q oder Strg-D | Beenden des Kommandointerpreters |
Die SQL-Befehle werden mit einem Semikolon abgeschlossen.
postgres=# \i catering.sqlAlternativ kann der Skript auch von der Linux-Shell aus gegeben werden. Dazu wird dem Aufruf des Kommandointerpreters durch ein Kleinerzeichen der Inhalt der Skriptdatei als Eingabe übergeben.
linux $ psql mydb < myskript.sqlZwei Minuszeichen sind das Kommentarzeichen. Der Rest der Zeile wird vom Interpreter ignoriert.
COPY mytable FROM '/home/user/tabelleninhalt.txt'; |
pg_dump mydb > dbsicher |
\end{gpListing*} Die Umleitung ermöglicht eine flexible Umleitung des Datenstroms durch Filterwerkzeuge auf beliebige Datenträger. Bei der R\"ucksicherung muss zunächst die Datenbank angelegt werden. Dann kann die Datensicherung mit pqsql eingelesen werden.
createdb mydb psql mydb < dbsicher |
\end{gpListing*} Der Befehl pg_dumpall legt eine komplette Datensicherung der gesamten Datenbankinstallation an.
pg_dumpall > pgsicherung |
\end{gpListing*} Die Rücksicherung einer solchen Vollsicherung erfolgt auch per psql.
psql -f pgsicherung postgres |
# Database administrative login by UNIX sockets local all postgres ident # TYPE DATABASE USER CIDR-ADDRESS METHOD # "local" is for Unix domain socket connections only local all all ident # IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5 |
Die Spalten bedeuten im Einzelnen:
| Homepage | 26.9.2001, 6.6.2010 (C) Copyright 2001,2010 Arnold Willemer |