Thread: Postgres V9.1 - unix socket directory Ubuntu /tmp vs /var/run/postgres
Hi,
I have been working with a V9.0.5 postgresql source distribution under Ubuntu 10.04 where the tools (createdb, psql ) seemed to know that the socket communication file was found/created in /tmp.
I don’t recall having to set any configure options to have this work correctly.
Upon recent migration to V9.1.2 I find that on using pg_ctl to start the database the socket file is created in /tmp. However the tools ( psql, creatdb ) seem to expect the socket file in /var/run/postgresql.
I have solved my problem by declaring the unix_socket_directory in postgresql.conf file to be /var/run/postgresql. It does seem for a standard build they should have a common location?
Have I overlooked some configuration setting ?
Thanks
Dave
"Day, David" <dday@redcom.com> writes: > I have been working with a V9.0.5 postgresql source distribution under Ubuntu 10.04 where the tools (createdb, psql ) seemed to know that the socket communication file was found/created in /tmp. > I don't recall having to set any configure options to have this work correctly. > Upon recent migration to V9.1.2 I find that on using pg_ctl to start the database the socket file is created in /tmp. However the tools ( psql, creatdb ) seem to expect the socket file in /var/run/postgresql. > I have solved my problem by declaring the unix_socket_directory in postgresql.conf file to be /var/run/postgresql. Itdoes seem for a standard build they should have a common location? If you build from unmodified PG sources, the default socket location is indeed /tmp. However, Debian and related distros feel that this violates some distro standard or other, so they modify the source code to make the default location /var/run/postgresql. So it depends on whose build you're using. No, this state of affairs isn't tremendously satisfactory. But it's unlikely to change. I suggest making sure that your psql etc come from the same build as the server you're using. regards, tom lane