rails with postgresql

213 views
Skip to first unread message

Rajinder Yadav

unread,
Dec 7, 2010, 4:49:46 PM12/7/10
to rubyonra...@googlegroups.com
Hi this is my first time for a few things. I am trying to get rails
working with postgres-9.0.1, I have never used postgres before. I do
know the server is listening on localhost:5432 as I am able to connect
to it using pgadmin3 and see the 2 databases on it.

I have 'pg' gem installed
my database.yml looks like this

development:
adapter: postgresql
encoding: unicode
database: test
pool: 5
username:
password:

however i am getting the following migrate error

yadav@expression:$ rake db:migrate --trace
(in /home/yadav/dev/rails/tmp/testapp)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
rake aborted!
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.
5432"?

--
Kind Regards,
Rajinder Yadav | DevMentor.org | Do Good! ~ Share Freely

GNU/Linux: 2.6.35-22-generic
Kubuntu x86_64 10.10 | KDE 4.5.1
Ruby 1.9.2p0 | Rails 3.0.1

Philip Hallstrom

unread,
Dec 7, 2010, 4:59:16 PM12/7/10
to rubyonra...@googlegroups.com

Is the server running locally and accepting connections on that unix domain socket? You don't say that it is...

Or if you don't want to tweak that, change your database.yml and add a "host: localhost" entry.

-philip

David Kahn

unread,
Dec 7, 2010, 4:59:53 PM12/7/10
to rubyonra...@googlegroups.com

It might help if you can post your database.yml.... also, have you created your databases (rake db:create:all)?
 

--
Kind Regards,
Rajinder Yadav | DevMentor.org | Do Good! ~ Share Freely

GNU/Linux: 2.6.35-22-generic
Kubuntu x86_64 10.10 | KDE 4.5.1
Ruby 1.9.2p0 | Rails 3.0.1

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonra...@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-ta...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.


Rajinder Yadav

unread,
Dec 7, 2010, 5:21:49 PM12/7/10
to rubyonra...@googlegroups.com
> --

Hi Philip,

that was it, not sure (yet) how to setup the server to listen on the
unix domain socket, but adding the host entry made the connection
possible.

I can now add and view records interactively from the rails console!

Thanks,

Rajinder Yadav

unread,
Dec 7, 2010, 5:25:17 PM12/7/10
to rubyonra...@googlegroups.com
On Tue, Dec 7, 2010 at 4:59 PM, David Kahn <d...@structuralartistry.com> wrote:

Hi David,

thanks for the tip, I got it working, just had to add "host:
localhost" as Philip pointed out.

Kind Regards,
Rajinder Yadav

David Kahn

unread,
Dec 7, 2010, 5:31:25 PM12/7/10
to rubyonra...@googlegroups.com

Cool... hey if you have a chance let me know if you can connect to the db using: "rails dbconsole".... I have never been successful doing this and I just go to the postgresql command line but would be curious if it works for you.... I can connect no problem to the rails console, but for whatever reason I get "Couldn't find database client: psql. Check your $PATH and try again." when I try rails dbconsole.
 

Kind Regards,
Rajinder Yadav

Rajinder Yadav

unread,
Dec 7, 2010, 8:17:14 PM12/7/10
to rubyonra...@googlegroups.com
On 10-12-07 05:31 PM, David Kahn wrote:

Hi David,

'rails dbconsole' works for me. Are you on Linux? if so what do you get
when you do a 'which psql', do you get the right path?

I built postgresql-9.0.1 from source, and the make install script puts
psql under /usr/local/pgsql/bin/psql

What I ended up doing instead of adding to the $PATH, was creating a
symbolic link under /usr/local/bin

lrwxrwxrwx 1 root root 25 2010-12-07 19:50 psql ->
/usr/local/pgsql/bin/psql

I am guessing, either you need to update your $PATH variable or use a
sym-link like me and things should work fine.

David Kahn

unread,
Dec 7, 2010, 8:45:41 PM12/7/10
to rubyonra...@googlegroups.com

Well, I am on a Mac, and interesting, when I ask for 'which psql' it does not return anything. And if I type psql into the terminal I get "command not found". So must be that I need to assign the path.... I have just been lazy. I just rebuilt my computer so I'll have a look at doing this.
 

I built postgresql-9.0.1 from source, and the make install script puts psql under /usr/local/pgsql/bin/psql

What I ended up doing instead of adding to the $PATH, was creating a symbolic link under /usr/local/bin

lrwxrwxrwx 1 root root       25 2010-12-07 19:50 psql -> /usr/local/pgsql/bin/psql

I am guessing, either you need to update your $PATH variable or use a sym-link like me and things should work fine.


--
Kind Regards,
Rajinder Yadav | DevMentor.org | Do Good! ~ Share Freely

GNU/Linux: 2.6.35-22-generic
Kubuntu x86_64 10.10 | KDE 4.5.1
Ruby 1.9.2p0 | Rails 3.0.1

--

Mauro Cicio

unread,
Feb 1, 2011, 3:01:55 AM2/1/11
to rubyonra...@googlegroups.com
:migrate
> rake aborted!
> could not connect to server: No such file or directory
> Is the server running locally and accepting
> connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.
> 5432"?

It is looking for the domain socket in
/var/run/postgresql/.s.PGSQL.5432.

Go in /var/run/postgresql/ and
ln -s wherever/your/domain/socket/is/.s.PGSQL.5432 .

You can find the socket with a global search, like

find / -name .s.PGSQL.\*

The above will fix the issue, but a more definitive solution would be to
point rails to the right location of the domain socket (I am just
looking how to do it myself!)

--
Posted via http://www.ruby-forum.com/.

Padmahasa B N

unread,
Apr 3, 2016, 12:39:32 AM4/3/16
to rubyonra...@googlegroups.com
Philip Hallstrom wrote in post #967046:
> On Dec 7, 2010, at 1:49 PM, Rajinder Yadav wrote:
>
>> encoding: unicode
>> ** Invoke environment (first_time)
>> ** Execute environment
>> ** Execute db:migrate
>> rake aborted!
>> could not connect to server: No such file or directory
>> Is the server running locally and accepting
>> connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.
>> 5432"?
>
> Is the server running locally and accepting connections on that unix
> domain socket? You don't say that it is...
>
> Or if you don't want to tweak that, change your database.yml and add a
> "host: localhost" entry.
>
> -philip

Hey Phillip Hallstrom, How "host: localhost" resolves the problem. Of
course it resolved my problem without any new configuration. Please tell
me how does it worked.

Mike

unread,
Apr 10, 2016, 6:52:36 AM4/10/16
to Ruby on Rails: Talk
By default PostgreSQL listens on a local domain socket for security reasons, however, by adding the host: localhost line you are telling the PostgreSQL driver that you want to use TCP networking, and so it switches to TCP/IP connections on port 5432.

The fact that use use localhost to connect to the local machine is irrelevant you can put any IP address there to connect to a PostgreSQL instance anywhere on the Internet


Reply all
Reply to author
Forward
0 new messages