无法调试PsyNet实验,因为连接到Postgres失败



我无法在本地调试PsyNet实验,因为我在终端中看到以下错误(我使用的是带有Dallinger 7.7的PsyNet v5.0.2(:

Exception: Failed to connect to Postgres at postgresql://dallinger:dallinger@localhost/dallinger. Is Postgres running on port 5432?

我尝试重新加载postgres,但没有修复它。

不幸的是,由于隐私限制,我无法在这里分享完整的实验代码,但我希望有人熟悉错误消息。

我找到了上面问题的解决方案。有时,PostgresSQL会崩溃,你可能会得到上面或下面的错误:

❯❯ There was a problem connecting to the Postgres database!

这个问题可能是由于几个原因造成的,但我发现以下程序可以有力地解决这个问题:

您可以使用postgres -D /usr/local/var/postgres检查PostgreSQL是否正常运行;如果以上操作不起作用,将返回一个错误。

如果出现错误,则说明您的数据库已因崩溃而损坏。尝试以下操作:

rm /usr/local/var/postgres/postmaster.pid

如果这不起作用,或者你找不到文件(postmaster.pid(。然后按照相同的顺序尝试以下步骤:

  1. 停止postgress服务:brew services stop postgresql
  2. 完全卸载计算机中的postgress:并删除计算机中的所有postgress数据库和postgress文件夹:
brew uninstall postgresql
rm -rf /usr/local/var/postgres
rm -rf .psql_history .psqlrc .psql.local .pgpass .psqlrc.local
  1. 再次安装postgress:brew install postgresql
  2. 开始进度:brew services start postgresql
  3. 按照dallinger文档中的说明安装数据库,以创建新的用户数据库(因为计算机崩溃可能会导致数据库被删除(:
createuser -P dallinger --createdb
(Password: dallinger)
createdb -O dallinger dallinger
createdb -O dallinger dallinger-import

这应该能解决问题。

最新更新