PostgreSQL 9.1 管理包安装

PostgreSQL 9.1 管理包安装

我看到的所有 postgre 指南似乎都使用 8.4 版本。在这种情况下,说明如下:

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

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

有人能告诉我如何让它工作吗(pgadmin 所需)?

答案1

管理包可以在/usr/share/postgresql/9.1/extension

安装

sudo -u postgres psql

CREATE EXTENSION adminpack;

还可以查看已安装扩展的列表select * from pg_extension;

答案2

上面的答案很有效。您只需记住,您需要为每个数据库执行此操作,因为扩展是按数据库安装的。上面的说明在名为的数据库中安装扩展postgres。要将其安装在您的数据库中,只需切换到您的数据库:

\c yourdb 并重复该过程: CREATE EXTENSION adminpack 在 Ubuntu 上,管理包位于 postgresql-contrib 包中。

答案3

首先,如果您尚未安装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

相关内容