Failed to connect to the database: PG::InvalidParameterValue: ERROR: invalid value for parameter "TimeZone": "UTC" : SET time zone 'UTC'

Failed to connect to the database: PG::InvalidParameterValue: ERROR: invalid value for parameter "TimeZone": "UTC" : SET time zone 'UTC'

在 arch linux 中尝试 运行 metasploit 时,我正在

[root@archserver ~]# msfconsole
[-] Failed to connect to the database:
PG::InvalidParameterValue: ERROR:  invalid value for parameter
"TimeZone": "UTC" : SET time zone 'UTC'

Postgres 配置完成,数据库也已创建

我的database.yml是

production:
 adapter: postgresql
 database: msf
 username: root
 password: root
 host: localhost
 port: 5432
 pool: 5
 timeout: 5

通过在 /opt/metasploit/vendor/bundle/ruby/2.4.0/gems/activerecord-4.2.10/lib/active_record/connection_adapters/postgresql_adapter.rb

中编辑 SET time zone 'UTC' 来修复它

如果您有多个 postgres 实例,也会发生这种情况 运行。当我通过自制软件安装 postgres@9.4 然后卸载并安装更新版本的 postgres 时,就会发生这种情况。我没有意识到的是,postgres@9.4 仍然是 运行 在后台

待验证。打开终端并输入:

ps axw | grep postgres

如果发现多个 postgres 实例。在相应的 pid 上发出 kill 命令。即 kill 234