Postgresql – How to connect with host PostgreSQL from vagrant virtualbox machine

networkingpostgresqlubuntu-12.04vagrantvirtualbox

I have a VirtualBox machine running Ubuntu 12.04 in a Mac OS X host machine. In my host machine (Mac OS X), I have PostgreSQL installed. I would like to connect to this PostgreSQL server from my Ubuntu virtual machine (I know normally it's the opposite way).

I guess I should configure some networking parameters in VirtualBox itself. All I get from Vagrant docs is I need to assign my vm a static IP to use a private network. But once created, how do I reach my host from my guest?

I didn't find anything like that in vagrant docs. So, there's probably a good reason for that. Does it make sense? I don't want to duplicate PostgreSQL installation. Just use my current existent one.

Best Solution

You can reach your host from your guest by using the default gateway on your VM.

See this answer for an explanation.

By running netstat -rn you can get the default gateway and then use that ip address in your config file of your application.

Running netstat -rn | grep "^0.0.0.0 " | cut -d " " -f10 should give you the correct ip address. (only tested this on my machine)

Related Question