WordPress PostgreSQL 数据库连接问题

3
我正在尝试使用pg4wp PostgreSQL插件来管理WordPress。我已正确提供主机、具有超级用户角色的用户和密码,但仍然收到以下错误信息。
警告:mysqli_real_connect():(HY000/1045):访问被拒绝,用户'wordpressuser'@'localhost'(使用密码:YES),位于/var/www/html/main-landing/blog/wp-content/pg4wp/core.php(32) :eval()'d代码的第1386行
警告:error_log(/var/www/html/main-landing/blog//wp-content/pg4wp/logs/pg4wp_unmodified.log):无法打开流:在/var/www/html/main-landing/blog/wp-content/pg4wp/driver_pgsql.php的第482行找不到此类文件或目录
注意:尝试获取非对象的属性,在/var/www/html/main-landing/blog/wp-content/pg4wp/driver_pgsql.php的第274行
注意:尝试获取非对象的属性,在/var/www/html/main-landing/blog/wp-content/pg4wp/driver_pgsql.php的第288行
警告:error_log(/var/www/html/main-landing/blog//wp-content/pg4wp/logs/pg4wp_unmodified.log):无法打开流:在/var/www/html/main-landing/blog/wp-content/pg4wp/driver_pgsql.php的第482行找不到此类文件或目录
警告:pg_query():查询失败:ERROR:缺少表“session”的FROM-clause条目 LINE 1: SELECT @@ SESSION.sql_mode ^ 在/var/www/html/main-landing/blog/wp-content/pg4wp/driver_pgsql.php的第136行
我的pg_log显示以下错误:
ERROR:字符26处不存在“wp_options”关系
语句:SELECT option_value FROM wp_options WHERE option_name = 'siteurl' LIMIT 1
无法解决此问题。

看起来有些东西(可能是插件)正在发送MySQL特定的语句。SELECT @@SESSION.sql_mode在PostgreSQL中没有意义,它是MySQL的扩展。 - Craig Ringer
1个回答

0
简而言之,不要试图在WordPress中不使用MySQL。这个插件只是众多尝试让WP与Postgres兼容的插件之一。它们都因缺乏维护和插件兼容性而失败了。
正如您可能已经注意到插件页面上所述,这个插件也不例外:尽管WP的核心在最近的版本中发生了变化,但它已经好几个月没有更新了,并且提到了有关插件的常见警告。

问题是我已经在我的服务器上运行了一个Postgres实例,该实例用于主应用程序。您不认为仅为博客安装MySQL实例会消耗大量资源吗? - Fahim Durrani
需要耗费一些资源,但在你的情况下不是问题。你基本上只有两个选择:a)使用MySQL资源来支持你的博客,或者b)今天或明天某个时间点拥有一个瘫痪的博客。别无其他选择,请做出一个决定吧。 - Denis de Bernardy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接