8

我有 PostgreSQL 9.2.0。单击创建数据库时,它显示以下错误:

SQL error:
ERROR:  column "spclocation" does not exist
LINE 1: ...pg_catalog.pg_get_userbyid(spcowner) AS spcowner, spclocatio...
                                                         ^
In statement:

SELECT spcname, pg_catalog.pg_get_userbyid(spcowner) AS spcowner, spclocation,
       (SELECT description FROM pg_catalog.pg_shdescription pd WHERE pg_tablespace.oid=pd.objoid) AS spccomment
        FROM pg_catalog.pg_tablespace WHERE spcname NOT LIKE $$pg\_%$$ ORDER BY spcname
4

4 回答 4

13

快速修复:(与我的版本 (5.0.3) / pg 9.2.3 一起使用)

  1. 改成/classes/database
  2. 复制Postgres84.phpPostgres92.php
  3. 打开Connection.php
  4. case '9.2': return 'Postgres92'; break;// Detect version and choose appropriate database driver开关处添加一条线 。
  5. 打开Postgres.php和复制功能getTablespaces+getTablespace
  6. 打开Postgres92.php并将函数粘贴到类中
  7. , spclocation,将两个函数中的“ ”替换为“” , pg_tablespace_location(oid) as spclocation,

  8. 在 Postgres92.php 中将类名更改为 Postgres92

于 2013-02-13T06:06:30.567 回答
4

2012 年 12 月 12 日晚上,我在运行 PostgreSQL 9.2.1 的 Mac Mini 服务器上更新了 Mountain Lion。当我发现这个问题时,我遇到了同样的问题。当我对这个问题进行搜索时,我发现了以下关于这个问题的错误跟踪器。

http://sourceforge.net/tracker/?func=detail&aid=3570272&group_id=37132&atid=418980

其中一条评论建议从 github 下载开发人员分支以从https://github.com/phppgadmin/phppgadmin/zipball/master解决此问题。我这样做并将其复制到 /Library/Server/Web/Data/Sites/Default 并重命名了文件夹。我在 /conf/config.inc.php 中将 $conf['servers'][0]['host'] 修改为 127.0.0.1。我想我必须复制 config.inc.php-dist。我已经成功地创建了数据库。截至 12 月 12 日,他们还没有发布 9.2 的稳定版本。希望他们很快就会。

于 2012-12-14T11:44:42.080 回答
2

简而言之: tablepg_tablespace 在 9.2 中没有该列

似乎现在应该从其他方式获取信息,如邮件列表中所述

还要注意官方 phpPgAdmin 页面中,PostgreSQL 支持的最新版本是 9.0。

于 2012-11-20T06:56:11.903 回答
1

对于“快速修复”,在 (2) 之后再添加一个步骤:

将 Postgres92.php 中的类名从 Postgres84 更改为 Postgres92。

于 2013-03-14T17:34:50.220 回答