在 phppgadmin 中创建数据库时出错

Posted

技术标签:

【中文标题】在 phppgadmin 中创建数据库时出错【英文标题】:Error on creating database in phppgadmin 【发布时间】:2012-11-20 06:48:37 【问题描述】:

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

【问题讨论】:

哇,6 个月后它仍然没有修复。 【参考方案1】:

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

    更改为/classes/databasePostgres84.php复制到Postgres92.php 打开Connection.php// Detect version and choose appropriate database driver 开关处添加一行case '9.2': return 'Postgres92'; break;。 打开Postgres.php并复制函数getTablespaces + getTablespace 打开Postgres92.php并将函数粘贴到类中

    将两个函数中的“, spclocation,”替换为“, pg_tablespace_location(oid) as spclocation,”。

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

【讨论】:

很好的解决方案!我将它应用到 /usr/local/cpanel/base/3rdparty/phpPgAdmin/classes/database/* 中的 cpanel 并且效果很好 也在 Postgres92.php 中将类名更改为 Postgres92【参考方案2】:

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

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

其中一个 cmets 建议从 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 的稳定版本。希望他们很快就会。

【讨论】:

【参考方案3】:

简而言之:表pg_tablespacedoes not have that column in 9.2。

现在看来应该通过其他方式获取信息,如the mailing list中提到的。

还要注意official phpPgAdmin page 中,PostgreSQL 支持的最新版本是 9.0。

【讨论】:

【参考方案4】:

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

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

【讨论】:

以上是关于在 phppgadmin 中创建数据库时出错的主要内容,如果未能解决你的问题,请参考以下文章

在 Spring Boot 中创建数据源时出错

在 Cloudera Impala(虚拟机)中创建数据库时出错

在 CouchDB 1.0 中创建用户时出错

在 Xcode 8.2 beta 中创建 NSManaged 子类时出错

在 SQL Server 中创建数据库用户时使用 pymssql 出错

在 bigquery 中创建数据集时,谷歌 App 引擎出错