Postgres.app enthält viele beliebte Erweiterungen:
Für die meisten Erweiterungen genügt es, den folgenden SQL-Befehl auszuführen:
CREATE EXTENSION extension_name;
Wenn du PL/Python verwenden möchtest, musst du zuerst Python von python.org installieren.
Sieh dir dazu diese Anleitung an.
Eine vollständige Liste aller verfügbaren Erweiterungen erhältst du mit dem SQL-Befehl:
SELECT * FROM pg_available_extensions
Ab PostgreSQL 18 stellen wir einige zusätzliche Erweiterungen als separaten Download zur Verfügung.
Diese Erweiterungen müssen unabhängig von der Haupt-App installiert werden. So funktioniert die Installation:
CREATE EXTENSION extension_name;
oder ALTER EXTENSION extension_name UPDATE;
die Erweiterung in deiner Datenbank installieren oder aktualisierenDiese Erweiterungen sind mit Postgres.app 2.8.3 oder neuer und PostgreSQL 18beta1 kompatibel:
Du kannst auch Erweiterungen selbst kompilieren.
Wenn du PostgreSQL 18 oder neuer verwendest, sollten sie im das Verzeichnis Application Support installiert werden.
Zuerst solltest du sicherstellen, dass dein Pfad korrekt eingerichtet ist:
which pg_config
Die Ausgabe dieses Befehls sollte sein: /Applications/Postgres.app/Contents/Versions/latest/bin/pg_config
Hier ein Beispiel-Skript zum Kompilieren einer Erweiterung (ersetze 18 durch die verwendete PostgreSQL-Version):
git clone git@github.com:theory/pg-envvar.git
cd pg-envvar
make
make install prefix="$HOME/Library/Application Support/Postgres/Extensions/18/local"
Starte anschließend den PostgreSQL-Server neu. Danach kannst du die Erweiterung wie gewohnt mit CREATE EXTENSION
installieren.
PostgreSQL 17 lädt Erweiterungen nur aus bestimmten Verzeichnissen innerhalb des App-Bundles.
Du kannst sie trotzdem kompilieren und installieren, beachte dabei aber zwei Dinge: 1. Die Terminal-App benötigt Berechtigungen, um Apps zu verändern. Sonst erhältst du beim Installieren Fehlermeldungen wie „Operation not permitted“. 2. Beim Aktualisieren von Postgres.app werden manuell installierte Erweiterungen entfernt. Du musst sie nach einem Update erneut installieren.