PostgreSQL bringt neben dem interaktiven Client psql eine ganze Familie von Kommandozeilen-Werkzeugen mit, die in der bin/-Verzeichnis der Installation liegen. Diese Referenz stellt die wichtigsten Server- und Wartungsbefehle vor.
Server steuern mit pg_ctl
pg_ctl -D /var/lib/postgresql/15/main start
pg_ctl -D /var/lib/postgresql/15/main stop -m fast
pg_ctl -D /var/lib/postgresql/15/main reload
pg_ctl -D /var/lib/postgresql/15/main status
-D zeigt auf das Datenverzeichnis (PGDATA). stop -m fast beendet sauber mit Checkpoint; -m immediate ist der harte Abbruch. reload liest postgresql.conf neu ein, ohne den Dienst zu stoppen — viele Parameter wie shared_buffers benötigen aber einen Neustart.
Datenbanken anlegen und löschen
createdb -U postgres meine_datenbank
dropdb -U postgres meine_datenbank
createdb ist die Kommandozeilen-Variante von CREATE DATABASE, dropdb entsprechend von DROP DATABASE. Beide verstehen -h (Host) und -p (Port) für entfernte Server.
Backup und Restore
pg_dump -U postgres -F c meine_datenbank > backup.dump
pg_restore -U postgres -d neue_datenbank backup.dump
pg_dumpall -U postgres > kompletter_cluster.sql
pg_dumpsichert eine einzelne Datenbank;-F cerzeugt das komprimierte Custom-Format,-F preines SQL. Mit-t tabellelässt sich der Export auf einzelne Tabellen begrenzen.pg_restoreliest nur das Custom-Format (-F c) und erlaubt selektives Wiederherstellen (-t,--list).pg_dumpallsichert den ganzen Cluster inklusive Rollen und Tablespaces als SQL-Skript.
Wartung und Diagnose
vacuumdb -U postgres -f meine_datenbank
pgbench -U postgres -i -s 10 meine_datenbank
pgbench -U postgres -c 10 -T 30 meine_datenbank
vacuumdbwendetVACUUMauf alle Tabellen einer Datenbank an —-ffürFULL(kompaktiert Speicherplatz),-zfürANALYZE.pgbenchist das eingebaute Lasttest-Werkzeug:-iinitialisiert die Testdaten, dann misst-c 10 -T 30Transaktionen pro Sekunde über 30 Sekunden.
Für den Alltag: Datenbank-Konzepte wie PostgreSQL-Datenbank und MariaDB im Vergleich, die verwandte CLI-Familie MySQL-Befehle — und für verteilte NoSQL-Systeme die Cassandra-Befehle.