在 phppgadmin 中创建数据库时出错



我有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

快速修复:(适用于我的版本 (5.0.3)/pg 9.2.3 )

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

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

我在 2012 年 12 月 12 日晚上更新了运行 PostgreSQL 9.2.1 的 Mac Mini Server 上的 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 复制到/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 的稳定版本。 希望他们很快就会。

简而言之:表 pg_tablespace 在 9.2 中没有该列。

正如邮件列表中提到的,现在似乎应该从其他方式获取信息。

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

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

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

相关内容

  • 没有找到相关文章

最新更新