From: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> |
---|---|
To: | John Iliffe <john(dot)iliffe(at)iliffe(dot)ca>, Daniel Verite <daniel(at)manitou-mail(dot)org> |
Cc: | pgsql-general(at)postgresql(dot)org, Joe Conway <mail(at)joeconway(dot)com> |
Subject: | Re: Unable to connect to Postgresql |
Date: | 2017-04-10 23:37:43 |
Message-ID: | 9efd5d06-d63c-ed4d-f1fc-c04dba0afeab@aklaver.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 04/10/2017 01:23 PM, John Iliffe wrote:
> On Monday 10 April 2017 11:53:35 Daniel Verite wrote:
>> John Iliffe wrote:
>>> So, the problem is resolved, although I have no idea why it was
>>> necessary.
>>
>> The key seems to be the PrivateTmp=true in the systemd service.
>> Apache is not chrooted as demonstrated upthread, but that
>> setting alone makes the normal, system-wide /tmp inaccessible
>> to its processes, including the postgres Unix domain socket opened
>> there.
>>
>> I suspect that your attempt to set PrivateTmp=false as a test was
>> missed by systemd for some reason. You could probably insist
>> in that direction and eventually make it work, but I don't see
>> how it's better than the alternative /var/pgsql or localhost through
>> TCP.
>>
>>> Also, I now have several hundred programmes to update to add the host
>>> path and none of them will now be portable.
>>
>> Given that you set two directories: /tmp and /var/pgsql,
>> I would think you can let the other apps use /tmp as before
>> and have only Apache use /var/pgsql ?
>
> Yes, I will do that, but there are several hundred PHP web page scripts to
> be updated. Presumably if one script opens two different databases then
> both of the pg_connect() instances will need to be updated.
Out of curiosity where did you install Postgres from?
The reason I ask it that I was trying to figure why Fedora would invoke
private /tmp's for services and then have the Postgres socket be only in
the public /tmp. So I spun up a Fedora 25 instance and did an install of
Postgres from the Fedora repos and then from the PGDG repos. In either
case I got a postgresql.conf that had:
unix_socket_directories = '/var/run/postgresql', '/tmp'
Upstream you showed your default as:
unix_socket_directories = '/tmp'
which is what I see when I do a source install.
So did you do a source install or did you copy a postgresql.conf from
somewhere else?
>
>>
>>
>> Best regards,
>
--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | Adrian Klaver | 2017-04-11 00:02:09 | Re: Unable to connect to Postgresql |
Previous Message | John Iliffe | 2017-04-10 23:29:31 | Re: Unable to connect to Postgresql |