如何找到本地postgres数据库的URL路径?

时间:2012-05-17 09:14:17

标签: ruby-on-rails postgresql

我在postgres数据库上运行了一个Rails应用程序。我正在设置在数据库上运行的后台任务队列,我需要指定数据库URL。

我尝试过的各种排列,并期望全部返回FATAL: database "database-name" does not exist

是否有打印此URL的命令?

或者,如果我的database.yml看起来像这样,那么URL应该是什么样的

development:
    adapter: postgresql
    encoding: unicode
    database: db/database-name

感谢您的建议。

2 个答案:

答案 0 :(得分:12)

格式似乎是

postgres://username:password@host/database

您的数据库名称中有/,并且(显然)postgres将接受数据库名称中的/,因此您需要使用

postgres:///db/database-name

postgres:///db%2Fdatabase-name

随意取出数据库名称的db/部分 - 仅保证像SQLite这样的数据库将数据库存储在本地文件中并需要文件名。

答案 1 :(得分:0)

不确定您是如何尝试访问数据库的,但如果您尝试创建使用与rails相同的数据库但单独运行的脚本,请考虑使用在rails中运行的脚本。在unix / linux中,如果你添加这一行:

#! script/rails runner

到脚本的第一行,然后使用:

使其可执行
chmod +x myscript

然后您只需使用

运行它
./myscript

它可以像控制器一样使用模型类,并在rails中查看代码。然后无需手动访问数据库。