2015-08-27 75 views
0

是的,我知道它被問了很多次,但我仍然無法找到正確的答案。因此,設置爲:RoR項目 - 無法連接到遠程postgres數據庫服務器

1)我在Ubuntu上運行14服務器,控制檯信息:

... 
* Environment: development 
* Listening on tcp://localhost:3000 

所以ENV是發展

2)的database.yml

default: &default 
    adapter: postgresql 
    encoding: unicode 
    pool: 5 

development: 
    <<: *default 
    database: dbmane 
    username: developer_dbmane 
    PASSWORD: some_pass 
    HOST: xxx.xxx.xxx.128 
    port: 5432 

3)http://localhost:3000/報告:

「無法連接到服務器:沒有這樣的文件或目錄服務器是否在本地運行並接受Unix域套接字上的連接」/var/run/postgresql/.s.PGSQL.5432「?」

...

@config

{:適配器=> 「的PostgreSQL」,:編碼=> 「的unicode」,:池=> 5,:數據庫=> 「DBNAME」,:用戶名=> 「developer_dbname」:PASSWORD => 「some_pass」:HOST => 「xxx.xxx.xxx.128」:端口=> 5432}

@connection_parameters

{:端口=> 5432 ,:user =>「developer_i18n」,:dbname =>「i18n」}

4)I也可以用命令連接遠程數據庫:

psql -hxxx.xxx.xxx.128 -Udeveloper_dbname dbname

授權是罰款 - 所以遠程服務器DO acccept遠程連接

5)本地postgress服務器shuted下來,但如果它不是:Ruby的服務器嘗試連接到它。

所以問題是如何配置它連接遠程,而不是本地服務器?

+0

你可以嘗試使用'主機:xxx.xxx.xxx.128',而不是'主持人:xxx.xxx.xxx.128'? – IngoAlbers

回答

2

Yaml區分大小寫,所以問題可能是它不識別主機和密碼設置。

嘗試使用此:

default: &default 
    adapter: postgresql 
    encoding: unicode 
    pool: 5 

development: 
    <<: *default 
    database: dbmane 
    username: developer_dbmane 
    password: some_pass 
    host: xxx.xxx.xxx.128 
    port: 5432 
+0

你該死的! – frenzy