PostgreSQL 9.1 Adminpack installieren


12

Überall, wo ich Anleitungen für Postgre sehe, scheint es sich um Version 8.4 zu handeln. In diesem Fall lautet die Anweisung:

sudo -u postgres psql < /usr/share/postgresql/8.4/contrib/adminpack.sql

Dieser Speicherort existiert anscheinend nicht im 9.1-Verzeichnis.

Kann mir jemand zeigen, wie es funktioniert (benötigt für pgadmin)?

Antworten:


17

Admin Pack finden Sie in /usr/share/postgresql/9.1/extension

Installieren

sudo -u postgres psql

CREATE EXTENSION adminpack;

Hier finden Sie auch eine Liste der installierten Erweiterungen select * from pg_extension;


das war mehr oder weniger es. Ich habe versucht, dies mit dem Benutzer zu erreichen, der der Eigentümer der Datenbank war, obwohl es tatsächlich so aussieht, als müsste der Standardbenutzer, der Superuser-Status, dies tun.
Robert

9

Die Antwort oben funktioniert großartig. Sie müssen sich nur daran erinnern, dass Sie dies für jede Datenbank tun müssen, da die Erweiterungen pro Datenbank installiert werden. Die obigen Anweisungen installieren die Erweiterungen in der Datenbank mit dem Namen postgres. Um es in Ihrer Datenbank zu installieren, wechseln Sie einfach zu Ihrer Datenbank:

\c yourdb und wiederhole den Vorgang: CREATE EXTENSION adminpack Unter Ubuntu befindet sich das Admin-Paket im postgresql-contrib-Paket.


1

Erstens, wenn Sie nicht installiert haben contrib:

sudo apt-get install postgresql-contrib

So durchlaufen Sie mehrere Datenbanken:

sudo su postgres;
for db in $(psql -c "SELECT datname FROM pg_database WHERE datistemplate = false;" | sed '1,2d' | head -n -2 | grep -v '^ postgres$'); do
  echo "Adding adminpack to ${db}"
  psql -c "CREATE EXTENSION adminpack;" ${db};
done

Als One (ish) -Liner:

sudo su postgres;
for db in $(psql -c "SELECT datname FROM pg_database WHERE datistemplate = false;" | sed '1,2d' | head -n -2 | grep -v '^ postgres$'); do psql -c "CREATE EXTENSION adminpack;" ${db}; done
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.