在phppgadmin中创建数据库时出错

时间:2012-11-20 06:48:38

标签: database postgresql-9.2 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

4 个答案:

答案 0 :(得分:13)

快速修复:(使用我的版本(5.0.3)/第9.2.3页)

  1. 更改为/classes/database
  2. Postgres84.php复制到Postgres92.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中的
  9. 将类名改为Postgres92

答案 1 :(得分:4)

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

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 ['servers'] [0] ['host']修改为/conf/config.inc.php中的127.0.0.1。我想我必须复制config.inc.php-dist。我成功地创建了数据库。截至12月12日,他们尚未发布9.2的稳定版本。希望他们能尽快。

答案 2 :(得分:2)

简而言之:表pg_tablespace does not have that column in 9.2

现在似乎应该从the mailing list中提到的其他方式获取信息。

另请注意,在official phpPgAdmin page中,最新的PostgreSQL支持版本是9.0。

答案 3 :(得分:1)

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

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