Rails如何通过database.yml找到正确的数据库适配器?

时间:2017-06-05 21:58:20

标签: ruby-on-rails database postgresql

database.yml文件有adapter: postgresql,这如何引导rails服务器连接到postgres程序?如果我在本地运行服务器,Rails会查看我的PATH或其他内容以查找我的postgres的安装位置吗?

2 个答案:

答案 0 :(得分:2)

数据库是客户端 - 服务器软件。因此,您的rails应用程序通过主机名/ IP地址,端口号和数据库凭据(用户名/密码)连接到数据库服务器,该凭据可以存在于网络上的任何位置。

如果要在localhost上开发rails应用程序,并在正在开发的同一台计算机上安装数据库二进制文件。然后,为了连接到该数据库服务器,您必须在localhost上运行一个数据库守护程序,以监听端口(对于postgresql,deafault端口为5432)。您可以使用netstat -an | grep 5432

测试postgres守护程序的状态

如果您使用的是另一个端口号,您可以更改应用程序config/database.yml上的端口号(如果您没有指定端口号并使用postgresql适配器,则它会采用默认端口号{{1} }})

5432

答案 1 :(得分:1)

答案在database.yml评论中非常正确:

 # The TCP port the server listens on. Defaults to 5432. 
 # If your server runs on a different port number, change accordingly. 
 # port: 5432

所以,如果您已经完成了vanilla安装,那么rails只使用端口5432连接到您并与您的数据库进行通信。