PostgreSQL 9.1 adminpack安装


12

在任何地方我都可以看到有关postgre的指南,它似乎在8.4版上。在这种情况下,说明是:

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

该位置显然不在9.1目录中。

谁能指出我如何使它工作(pgadmin需要)?

Answers:


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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.