PostgreSQL 9.1 adminpackインストール


12

postgreのガイドを見るとどこでも、バージョン8.4にあるようです。その場合、命令は次のとおりです。

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

その場所は、明らかに9.1ディレクトリに存在しません。

誰かがそれを動作させる方法を教えてもらえますか(pgadminに必要)?

回答:


17

管理パックは /usr/share/postgresql/9.1/extension

インストールする

sudo -u postgres psql

CREATE EXTENSION adminpack;

また、インストールされている拡張機能のリストを表示するには select * from pg_extension;


これは多かれ少なかれそれでした。データベースの所有者であるユーザーでこれを達成しようとしていましたが、実際には、スーパーユーザーステータスを持つデフォルトユーザーがそれを行う必要があるようです。
ロバート

9

上記の答えは素晴らしいです。拡張機能はデータベースごとにインストールされるため、データベースごとにこれを行う必要があることを覚えておく必要があります。上記の手順では、という名前のデータベースに拡張機能をインストールしますpostgres。データベースにインストールするには、データベースに切り替えてください:

\c yourdb プロセスを繰り返します CREATE EXTENSION adminpack 。Ubuntuでは、管理パックはpostgresql-contribパッケージに含まれています。


1

まず、インストールしていない場合contrib

sudo apt-get install postgresql-contrib

複数のデータベースを反復処理するには:

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

ワンライナーとして:

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.