Php 新服务器:PostgreSQL语法错误疑难解答

Php 新服务器:PostgreSQL语法错误疑难解答,php,postgresql,Php,Postgresql,我受雇于将一个运行在PHP/PostgreSQL后端的网站从一台服务器移动到另一台服务器。我从未使用过PostgreSQL,我认为这将是一项非常简单的任务。我错了 我成功地解决了一些与特权和权限被拒绝问题相关的问题 我目前的问题难住了我。当我访问主页时,我得到一个500错误 新服务器运行的是PostgreSQL 9.2.14,我不知道旧服务器上的PostgreSQL版本是什么。我只收到文件&一个数据库转储-我从未访问过旧服务器本身 查看错误日志,我看到以下内容: [26-Feb-2016 08:

我受雇于将一个运行在PHP/PostgreSQL后端的网站从一台服务器移动到另一台服务器。我从未使用过PostgreSQL,我认为这将是一项非常简单的任务。我错了

我成功地解决了一些与特权和权限被拒绝问题相关的问题

我目前的问题难住了我。当我访问主页时,我得到一个500错误

新服务器运行的是PostgreSQL 9.2.14,我不知道旧服务器上的PostgreSQL版本是什么。我只收到文件&一个数据库转储-我从未访问过旧服务器本身

查看错误日志,我看到以下内容:

[26-Feb-2016 08:06:45 America/New_York] PHP Fatal error:  Uncaught exception 'DbQueryException' with message 'ERROR:  syntax error at or near ")" LINE 1: SELECT ABS(right)
                        ^ QUERY:  SELECT ABS(right) CONTEXT:  PL/pgSQL function _acl_right_agg(integer[],acl_entity_rights) line 21 at assignment' in /home/user/public_html/includes/lib/db/postgres.inc.php:208 Stack trace:
#0 /home/user/public_html/includes/lib/db/base.inc.php(439): PostgresDB->query('\n              ...', 3)
#1 /home/user/public_html/includes/wt-navigation.php(3831): BaseDB->getScalar('\n              ...', '-2', 'anonymous','pub...')
#2 /home/user/public_html/includes/wt-navigation.php(3913): NavCache::lookupNodeId('-1')
#3 /home/user/public_html/includes/wt-node-types.php(112): NavCache::lookupEdgeName('/', Object(NavNodeTop))
#4 /home/user/public_html/includes/wt-navigation.php(3499): NavNodeRoot->_loadProperties()
#5 /home/user/public_html/init/site.inc.php(22): require_once('/home/user... in /home/user/public_html/includes/lib/db/postgres.inc.php on line 208
代码没有注释,也没有指出它实际上是基于什么(如果有的话)CMS构建的


知道该网站在以前的服务器上运行得非常好,如何解决此语法错误?我是否应该采取任何调试步骤(编辑代码)来跟踪此问题?

right
是保留字


它应该在查询中转义:
selectabs(“right”)…

谢谢。无论如何,这让我走上了正确的道路。代码本身实际上并不表示postgres.inc.php的第21行或第208行上的特定查询,所以现在我的任务是找出生成该查询的内容!我想它总是被保留的,要么是因为right join,要么是right(),所以不知道它为什么会在其他安装上工作。我找到了它!我没有意识到_acl_right_agg是数据库本身中的一个“函数”——这里我搜索的是PHP文件。我在PHP文件上运行了该函数的grep,并找到了一些将该函数“插入”到数据库中的升级脚本,这让我知道了真相。现在遇到了一个新问题,但这是一个进步。非常感谢。