如何为adminpack解决PostgreSQL pgAdmin错误"服务器工具未安装"?

joe*_*son 30 postgresql ubuntu pgadmin psql

Ubuntu上的PostgreSQL 9.1 pgAdmin III发出此警告:

Guru提示 - 未安装

服务器工具

服务器工具服务器缺少工具功能.

pgAdmin II使用了默认情况下在所有PostgreSQL版本中都不可用的一些支持功能...默认情况下,

adminpack已安装并激活,如果...

安装了扩展程序后,您只需单击"修复它!"即可.按钮...

怎么解决这个?

joe*_*son 48

对于PostgreSQL和pgAdmin的当前版本,"Guru"对话框警告有一个"修复它!" 按钮或命令.用它.

如果没有"修复它!" 然后我们可以使用Unix命令行,如下所示.

这适用于PostgreSQL 9.1.旧版本的方式不同.

PostgresSQL文档在这里:

安装adminpack如下:

$ sudo apt-get install postgresql-contrib
Run Code Online (Sandbox Code Playgroud)

要验证我们是否获得了文件,请列出它们:

$ dpkg -L postgresql-contrib-9.1 | grep adminpack
Run Code Online (Sandbox Code Playgroud)

结果:

/usr/share/postgresql/9.1/extension/adminpack.control
/usr/share/postgresql/9.1/extension/adminpack--1.0.sql
/usr/lib/postgresql/9.1/lib/adminpack.so
Run Code Online (Sandbox Code Playgroud)

查找adminpack文件的替代方法:

$ sudo updatedb
$ locate adminpack
Run Code Online (Sandbox Code Playgroud)

使用psql创建扩展:

$ sudo -u postgres -i
$ psql [dbname]
# CREATE EXTENSION adminpack;
Run Code Online (Sandbox Code Playgroud)

(如果您没有超级用户或者您需要创建每db扩展,请参阅@ w00t下面的注释以用于\c dbname连接到数据库)

核实:

# select * from pg_extension;
Run Code Online (Sandbox Code Playgroud)

结果:

extname  | extowner | extnamespace | extrelocatable | extversion | extconfig | extcondition 
-----------+----------+--------------+----------------+------------+-----------+--------------
plpgsql   |       10 |           11 | f              | 1.0        |           | 
adminpack |       10 |           11 | f              | 1.0        |           | 
Run Code Online (Sandbox Code Playgroud)

要将扩展加载到pgAdmin,请参阅数据库服务器图标:

  • 右键单击该图标,然后选择"Disconnent"
  • 右键单击该图标,然后选择"Connent"

要验证adminpack是否正常工作:

  • 单击数据库图标
  • 在右上方窗格中,单击"统计信息"选项卡.
  • 滚动到统计信息的底部.
  • 您现在看到一个"大小"条目,显示磁盘上的数据库大小.

  • 在执行手动指令(我的数据库用户没有超级用户访问权限)后,它会显示大小,但pgadmin3仍然会抱怨.<耸肩> (2认同)
  • 发现它:我首先要把`\ c dbname`连接到数据库,显然扩展名是per-db. (2认同)