22 praktische PostgreSQL Befehle

Freitag, 25. September 2015 Geschrieben von Guenny

Zum Wochenende eine kleine Auflistung praktischer PostgreSQL Befehle.

Zu PostgreSQL verbinden

In eine PostgreSQL Konsole Einloggen


sudo -u postgres psql

Einloggen und direkt zu einer Datenbank verbinden


sudo -u postgres psql -d datanbank

Arbeiten mit Konsolenbefehlen

Alle Datenbanken anzeigen


postgres=# \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | enUS.UTF-8 | enUS.UTF-8 |
 template0 | postgres | UTF8     | enUS.UTF-8 | enUS.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | enUS.UTF-8 | enUS.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(3 rows)

oder ohne vorherigen Login mit "sudo -u postgres psql -l"

Benutzer auflisten


postgres-# \du
                             List of roles
 Role name |                   Attributes                   | Member of
-----------+------------------------------------------------+-----------
 postgres  | Superuser, Create role, Create DB, Replication | {}
 yolo      | Superuser                                      | {}

Zu einer Datenbank verbinden


postgres=#\c Datenbankname

You are now connected to database "Datenbankname" as user "postgres".

Tabellen anzeigen


postgres=#\dt 

Schemas anzeigen


postgres=#\dn

Funktionen anzeigen


postgres=#\df oder df+

Sequenzen anzeigen


postgres=#\ds

Views anzeigen


postgres=#\dv

Datenbank und Benutzer mit Rechten erstellen


CREATE datenbank;
CREATE USER benutzer WITH PASSWORD 'Geheim';  
GRANT ALL PRIVILEGES ON DATABASE datenbank to benutzer; 

Alle verfügbaren Konsolenbefehle anzeigen


postgres=#\?

Eine bestimmte Datenbankgröße auslesen


select pgdatabasesize('Datenbankname');

oder in schön


SELECT pgsizepretty(pgdatabasesize('Datenbankname'));

oder alle vorhanden Datenbankgrößen anzeigen


select datname, pgsizepretty(pgdatabasesize(datname)) as size from pgdatabase;


Offene Datenbankverbindungen anzeigen


SELECT datname,usename,clientaddr,clientport FROM pgstatactivity ;

Die Konfiguration neu laden (ohne Neustart)


select pgreloadconf();

Logfile Rotation anwerfen


select pgrotatelogfile()

PostgreSQL verlassen


postgres=#\q

Backup und Wiederherstellung

Ein Datenbank Backup erstellen


pgdump --user username --host hostname -b -F c datenbank > /tmp/datenbank.dump 

Alle verfügbaren Datenbanken sichern


pgdumpall

Datenbank wiederherstellen


pgrestore --user username --host hostname -c -d datenbank datenbank.dump

Das könnte dich auch interessieren

Kommentare


25.09.2015 15:18 freiheit
Schöne Auflistung der wichtigsten Grundbefehle. Danke.

18.02.2017 20:34 reactivan
Vielen Dank! Schön gemacht und wirklich hilfreich.

27.03.2019 07:42 Manfred Jordan
Sehr gut, vielen Dank! Alle wichtigen Befehle mit Erklärung in Deutsch und alles kurz und prägnant.