Ali*_*i H 2 postgresql ruby-on-rails
我在Postgres 9.3.5数据库上运行了Rails应用程序。在我的开发环境中,它已经启动并运行了一段时间。今天,我进行了Rails迁移,然后当我尝试运行时rake db:reset,收到错误消息:
psql: FATAL: database "db_name" is not currently accepting connections
Run Code Online (Sandbox Code Playgroud)
现在,这是我尝试运行任何psql或rake db任务时的唯一响应。例如:
$ psql -d db_name
psql: FATAL: database "db_name" is not currently accepting connections
Run Code Online (Sandbox Code Playgroud)
我可以在数据库列表中看到db_name,并且它具有正确的所有者。
是什么导致“当前不接受连接”状态,如何解决?
仅当datallowconn在中设置为false时,才会发出该消息pg_catalog.pg_database。这用于保护template0数据库免于意外修改,但是PostgreSQL本身无法做到这一点。
很难想象您是如何在另一个数据库上进入该状态的,除非您手动创建UPDATE系统目录。
有一个未公开的选项ALTER DATABASE,allow_connections = false,这将产生同样的结果,但它似乎更不可能,你会做到这一点。
如果您以某种方式在不是保留模板的数据库上遇到这种情况,则可以
UPDATE pg_database SET datallowconn = true WHERE datname = 'my_database';
Run Code Online (Sandbox Code Playgroud)
手动删除数据库dropdb:
$ dropdb 'db_name'
Run Code Online (Sandbox Code Playgroud)
然后我就可以使用它db:setup来创建一个新的数据库。
| 归档时间: |
|
| 查看次数: |
3967 次 |
| 最近记录: |