Von Markus Flechtner auf Dienstag, 18. Juni 2024
Kategorie: Kurz & Gut

Kurz und gut – Episode #18 PostgreSQL: Makros in psql

​Makros sind in der Welt der Datenbankverwaltung und -interaktion ein leistungsstarkes Werkzeug. In PostgreSQL ermöglichen Makros in der psql-Umgebung die Automatisierung von wiederkehrenden Aufgaben, die Vereinfachung von Abfragen und die Steigerung der Effizienz bei der Interaktion mit der Datenbank. Dieser Artikel wird einen Einblick in die Verwendung von Makros in psql bieten und zeigen, wie Sie Entwickler:innen und Datenbankadministrator:innen helfen können, ihre Arbeit zu optimieren.

Grundlagen von psql-Makros

In psql, der interaktiven PostgreSQL-Shell, können Makros erstellt und verwendet werden, um die Ausführung von häufig verwendeten Befehlen zu vereinfachen. Ein psql-Makro ist im Wesentlichen eine benannte Sequenz von SQL-Anweisungen, die durch einen einzigen Befehl aufgerufen werden können. Dies erleichtert die Wiederverwendung von Code und beschleunigt repetitive Aufgaben.

Makros werden in psql mithilfe des \set-Befehls erstellt. Hier sind zwei einfache Beispiele:

Anzeigen der PostgreSQL-Version

postgres=# \set version 'select version();'

Anzeige des Ausführungsplanes einer Abfrage (EXPLAIN) mit Optionen

postgres=# \set fullexplain EXPLAIN (ANALYZE, BUFFERS, COSTS, SETTINGS, VERBOSE) 

Ausführen von Makros

Nun kann das Makro in einer Abfrage verwendet werden: 

Oder: 

Makros in .psqlrc

Damit Makros beim Aufruf von psql automatisch aktiviert werden, kann man die Definitionen in der .psqlrc-Datei im HOME-Verzeichnis des/der Linux-Benutzer:in ablegen. Die .psqlrc-Datei wird beim Aufruf von psql automatisch ausgeführt und erlaubt so benutzerspezifische Anpassungen. 

Fazit

Die Verwendung von Makros in psql kann die Effizienz bei der Entwicklung und Verwaltung von Datenbanken erheblich steigern. Durch die Automatisierung wiederkehrender Aufgaben können Entwickler:innen und Datenbankadministrator:innen Zeit sparen und die Fehleranfälligkeit reduzieren. Darüber hinaus ermöglicht die Parametrisierung von Makros die einfache Anpassung von Abfragen an unterschiedliche Anforderungen.

Weitere Informationen zu PostgreSQL gibt es in unserem Seminar "PostgreSQL-Administration".

Seminarempfehlung

Kommentare hinterlassen