psql ist wohl bei weitem das beliebteste Tool für die Administration von PostgreSQL. Sein großer Vorteil ist, dass es bei der Installation von PostgreSQL bereits enthalten ist. Es ist für Linux Kenner intuitiv handhabbar und enthält viele aus der Shell bekannte und nützliche Funktionen. 10 hilfreiche Funktionen, mit denen man sich die Administration vereinfachen kann, zeige ich nun hier auf.

Wer sich über Postgresql- und Datenbankthemen austauschen oder beraten möchte, kann gerne direkt Kontakt mit mir aufnehmen.

>>Zum Kontaktformular

1. Query Tagging

psql unterstützt die Suche mit CTRL+R nach vorher ausgeführten Queries. Dies kann man generell für das schnellere Finden von beliebten Queries nutzen. Einer Query kann man auch einen Kommentar mitgeben. Dieser dient dann als Tag für die erleichterte Suche.

Copy to Clipboard

In der Regel reichen 2 – 3 Buchstaben, um die getaggte Query zu finden.

2. Meta-Befehl Queries anzeigen

Eine ganze Reihe von Meta-Befehlen ermöglicht das komfortable Abfragen von Datenbank- und Objektinformationen. Dabei kann man sich auch anzeigen lassen, welches SQL Statement ein Meta-Befehl für die Abfrage aus den Katalogen nutzt. Diese Funktion wird über den Befehl `\set ECHO_HIDDEN on` aktiviert.

Copy to Clipboard

3. Query Ausführungszeit

Die Dauer der Ausführungszeit einer Query kann bequem in psql angezeigt werden. Mit dem Befehl `\timing` lässt sich diese Funktion an- bzw. ausschalten.

Copy to Clipboard

4. Sichtbarkeit von NULL

Standardmäßig ist in psql beim Anzeigen von Feldinhalten kein Unterschied zwischen einem leeren String und NULL. Dies lässt sich mit `\pset null NULLSTRING` ändern.

Copy to Clipboard

5. Automatische Query Wiederholung

Manchmal möchte man eine Query öfters ausführen, um Zustandsänderungen zu verfolgen. psql bietet hierfür den watch-Befehl gefolgt von dem Intervallwert in Sekunden.

Copy to Clipboard

Die automatische Ausführung lässt sich durch CTRL+C wieder beenden.

6. Unicode Table Style

Die tabellarische Standardanzeige von z.B. Tabellen lässt sich individuell anpassen. Dabei lassen sich sowohl der Linienstil als auch der Rahmenstil anpassen.

Copy to Clipboard

7. Shellbefehle aufrufen

Aus psql heraus können Shell Befehle aufgerufen werden. Ein Beenden und hin und her springen zwischen psql und der Shell ist somit überflüssig. Der Befehl beginnt mit `\! <cmd>`.

Copy to Clipboard

8. Integrierte Syntax Referenz

Beim Schreiben von SQL Statements kommt man manchmal in die missliche Lage, dass man die richtige Syntax eines Befehls vergessen hat. Das ist mit psql kein Problem, da über den Befehl `\h <sql_cmd>` die jeweilige Syntax direkt angezeigt wird. Zusätzlich ist auch die Referenz URL auf die PostgreSQL Dokumentation beinhaltet, wenn man doch mehr lesen möchte.

Copy to Clipboard

9. Tabelle anzeigen

Normalerweise nutzt man hier das klassische SQL Statement `SELECT * FROM tablename;`. Wenn man jetzt aber oft in Tabellen reinschaut, ohne Joins und Where-Bedingungen, kommen eine ganze Menge Tastenanschläge zusammen. Kürzer geht es mit dem Befehl `table <tablename>`.

Copy to Clipboard

10. .psqlrc

Schlussendlich sind ein Teil der hier gezeigten Tricks nur während der aktuellen psql Session aktiv. Mit Hilfe der Datei `~/.psqlrc` im Homeverzeichnis lassen sie sich aber dauerhaft einstellen, so dass der erneute Konfigurationsaufwand entfällt.

Copy to Clipboard
Blog Dirk Aumüller

Dirk Aumüller

Dirk Aumueller arbeitet als Associate Partner für die Proventa AG. Sein technologischer Schwerpunkt liegt bei Datenbankarchitekturen mit PostgreSQL sowie Data Management Lösungen mit Pentaho. Zusätzlich zu seinen Datenbanktransformations-Projekteinsätzen ist er regelmäßig als PostgreSQL Trainer unterwegs und betreut Studenten bei ihren Abschlussarbeiten. Seine fachlichen Erfahrungen erstrecken sich über die Branchen Telco und Financial Services.