对于当前版本的PostgreSQL和pgAdmin,"Guru"对话框警告有一个"修复它!"按钮或命令。使用它。
如果没有"Fix it!",我们可以使用Unix命令行如下。
这是针对PostgreSQL 9.1的,旧版本做法不同。
PostgresSQL文档在此处:
像这样安装adminpack
:
$ sudo apt-get install postgresql-contrib
为了验证我们已经获得了这些文件,请列出它们:
$ dpkg -L postgresql-contrib-9.1 | grep adminpack
结果:
/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
寻找 adminpack 文件的另一种方法:
$ sudo updatedb
$ locate adminpack
使用psql创建扩展:
$ sudo -u postgres -i
$ psql [dbname]
(如果您没有超级用户权限,或者需要创建一个每个数据库的扩展,请参见@w00t下面的评论,使用\c dbname
连接到数据库)
验证:
# select * from pg_extension;
结果:
extname | extowner | extnamespace | extrelocatable | extversion | extconfig | extcondition
-----------+----------+--------------+----------------+------------+-----------+--------------
plpgsql | 10 | 11 | f | 1.0 | |
adminpack | 10 | 11 | f | 1.0 | |
要将扩展加载到pgAdmin中,请查看数据库服务器图标:
- 右键单击图标,然后选择“Disconnent”
- 右键单击图标,然后选择“Connent”
要验证adminpack是否正常工作:
- 单击数据库图标
- 在右上方窗格上,单击“Statistics”选项卡。
- 向下滚动到统计数据的底部。
- 现在您会看到一个显示磁盘上数据库大小的“Size”条目。
\c dbname
连接到数据库,显然这个扩展是针对每个数据库的。 - w00t/usr/share/postgresql/9.5/extension/adminpack.control
,但我安装的是 postgres 9.3,所以CREATE EXTENSION adminpack;
给了我could not open extension control file "/usr/share/postgresql/9.3/extension/adminpack.control": No such file or directory
。我需要一些建议。 - poshestsudo apt-get install postgresql-contrib-9.3
,现在它可以正常工作了。之前我安装了sudo apt-get install postgresql-contrib
(没有指定版本)。 - poshest