From: | Thomas Schweikle <tschweikle(at)bfs(dot)de> |
---|---|
To: | "pgsql-general(at)lists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Postgres service not starting on windows after install if not installed into standard locations |
Date: | 2024-11-20 13:26:26 |
Message-ID: | 44c72245-7cb5-47bd-a6b5-e15d0b2a487e@bfs.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Am Mo., 18.Nov..2024 um 19:43:36 schrieb Laurenz Albe:
> On Mon, 2024-11-18 at 17:22 +0000, Thomas Schweikle wrote:
>> Had installed PostgreSQL 16.5 on Windows 10:
>>
>> Install directory: "C:\PRGS\pgSQL\16"
>> DB-Directory: "C:\DB\pgSQL\16\data"
>>
>> Environment variable "PGDATA" is set to "C:\DB\pgSQL\16\data".
>>
>> Initialized the database. Then started postgres services using:
>>
>> c:\PRGS\pgSQL\16\bin\pg_ctl.exe start
>>
>> Worked nice. Server starts, the serves as expected. But: if I try to
>> start the service by "net start pgSQL" I am reported that "pg_ctl.exe"
>> could not find "postgres.exe".
>>
>> What I've tried:
>> - added environment variable "PGPATH" pointing to "C:\PRGS\pgSQL\16\bin"
>> -> did not help.
>>
>> - added "C:\PRGS\pgSQL\16\bin" to path. -> did not help either, even
>> after rebooting. I've added it to system path.
>>
>> Are paths somewhere within some configuration file or registry entry?
>> And set to standard install locations?
>
> How exactly is the Windows service defined?
> Perhaps you need to use an absolute path for the executable.
Servicename: postgresql-x64-16
Name: postgresql-x64-16-PostgreSQL Server 16
Comment: Provides relational database storage
Path: "C:\PRGS\pgSQL\16\bin\pg_ctl.exe"
runservice -N "postgresql-x64-16"
-D "C:\DB\pgSQL\16\data" -w
Type: Automatic
Account: Networkservice
Password: set
Dependencies:RPC, DCOM-Service, RPC-Endpoint
Errors found within system logs:
pg_ctl: could not find program 'postgres.exe'
Seems, since "C:\PRGS\pgSQL\16\bin" is in system path, it does not
search there at all:
# dir "C:\PRGS\pgSQL\16\bin"
[...]
Mi, 13.Nov.2024 13:24 123.392 pg_ctl.exe
[...]
Mi, 13.Nov.2024 13:24 8.659.968 postgres.exe
Any way to tell a service in Windows to use a path?
Any registry key to assign a path to?
# sc qc "postgresql-x64-16"
[SC] QueryServiceConfig ERFOLG
SERVICE_NAME: postgresql-x64-16
TYPE : 10 WIN32_OWN_PROCESS
START_TYPE : 2 AUTO_START
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : "C:\PRGS\pgSQL\16\bin\pg_ctl.exe"
runservice -N "postgresql-x64-16" -D "C:\DB\pgSQL\16\data" -w
LOAD_ORDER_GROUP :
TAG : 0
DISPLAY_NAME : postgresql-x64-16 - PostgreSQL Server 16
DEPENDENCIES : RPCSS
SERVICE_START_NAME : NT AUTHORITY\NetworkService
--
Thomas
From | Date | Subject | |
---|---|---|---|
Next Message | felix.quintgz | 2024-11-20 14:06:30 | Re: Running docker in postgres, SHM size of the docker container in postgres 16 |
Previous Message | Efrain J. Berdecia | 2024-11-20 13:21:34 | Re: Suddenly all queries moved to seq scan |