From: | Michał Lis <fcs1(at)poczta(dot)onet(dot)pl> |
---|---|
To: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>, pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Re: Problem with pg_service.conf |
Date: | 2020-07-22 17:21:30 |
Message-ID: | 723f03d2-48fe-db67-e14c-37255d8c3c79@poczta.onet.pl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hello,
The server is located in the lan and runs on Windows 7x64 Ultimate.
On this server I created pg_service.conf file and set the environment
variable of PGSERVICEFILE.
The client is an other computer with Windows 7x64 Pro. It has no access
to local folders on the server (especially to the PostgreSQL folder) .
Coping the pg_service.conf file from server to the client and setting
environment variable PGSERVICEFILE to this file has no sense, because of
possibility of storing login and password in this file.
I want to connect to the server by service name, because I don't want to
store any login information on the client side.
Yesterday I created a topic:
BUG #16550: Problem with pg_service.conf
on pgsql-bugs list
At this moment I have the information that the copy of pg_service.conf
file is necessary on the client side to establish connection by service
name.
I my opinion it has no sense, and looks like a bug.
Regards
Michal
W dniu 2020-07-22 o 18:14, Adrian Klaver pisze:
> On 7/21/20 2:35 PM, Michał Lis wrote:
>> Hello,
>>
>> I can't connect to a database via service defined in pg_service.conf
>> file from remote machine.
>>
>> Connection from local machine using this service definition works fine.
>>
>> I tested it on PostgreSQL 9.4 and 9.6. The other problem is with the
>> localization of the pg_service.conf file.
>>
>> Reading internet solutions, I found, that this file may be placed in
>> global configuration folder.
>>
>> In my case it is D:\PostgreSQLx86\9.6\etc (the SYSCONFDIR variable
>> displayed by pg_config.exe).
>>
>> Placing the file into this folder does not work. I had to define the
>> global system variable PGSERVICEFILE =
>> D:\PostgreSQLx86\9.6\etc\pg_service.conf.
>>
>> After that the connection to database via service began work, but
>> only on local machine.
>>
>> To reproduce problem:
>>
>> 1. Create pg_service.conf file like this:
>>
>> [test4]
>> host=192.168.1.2
>> port=5433
>> dbname=test
>> user=postgres
>> password=abcd
>>
>> 2. Save this file in a directory, in my case it was
>> D:\PostgreSQLx86\9.6\etc\pg_service.conf
>> (line ends in Linux style by NotePad++)
>>
>> 3. Set the global system variable:
>> PGSERVICEFILE =D:\PostgreSQLx86\9.6\etc\pg_service.conf
>>
>> 4. Restart computer to take effects for setting PGSERVICEFILE
>>
>> 5. Open PGAdmin 3 or 4 no matter which.
>>
>> 6. Add and Set database connection
>> - Name: test
>> - Host: 192.168.1.2
>> - Port: 0
>> - Service: test4
>> - User: <empty>
>> - Password: <empty>
>>
>> On the local machine the connection will be established but on remote
>> machine the error:
>>
>> "Definition of service "test4" not found"
>>
>> will be raised
>>
>> Connection from remote machine to server by host, port, user and
>> password works fine.
>
> Where is the server located?
>
> Are you on remote machine when you try to use the service file?
>
> If so, that is not going to work as the remote machine will not have
> access to the local environment.
>
>
>>
>> PostgreSQL version: 9.6.11 and 9.4
>> Operating system: Windows 7 x64 Pro/Ultimate
>>
>> Regards
>> Michal
>>
>>
>>
>>
>>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Surya Widyanto | 2020-07-22 17:24:53 | Slow or Cannot Connect to PostgreSQL Instance Service on Windows 10 |
Previous Message | Adrian Klaver | 2020-07-22 16:14:27 | Re: Problem with pg_service.conf |