Re: Postgres: Packaging & Server Startup

From: Richard Huxton <dev(at)archonet(dot)com>
To: CM J <postgres(dot)newbie(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Postgres: Packaging & Server Startup
Date: 2009-03-31 11:25:29
Message-ID: 49D1FDA9.7030000@archonet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

CM J wrote:
> Hi,
>
> I don't have multiple postgres installed.

Hmm. OK.

> Anyway, tried your suggestion
> to use the full path name and here is what i get:
>
> D:\pgsql\bin>D:\pgsql\bin\pg_ctl.exe -U postgres -P <mypasswd> -w start
> -D:\pgsql\data

You've got a typo here - the "-D" has run into "D:\..."

> pg_ctl: could not open PID file ":/pgsql/data/postmaster.pid": Invalid
> argument
>
> There is no data directory created by default (i used
> no-installer-zip file to install postgres), so i went ahead and created a
> dummy data directory which gave the same result as above. Any suggestions ??

It's probably worth checking the permissions on that directory, but I
don't think it's the problem here. You have run "initdb" on that
directory though, haven't you? If not, do that before worrying about the
rest of this email.

>>> pg_ctl.exe -U postgres -P <mypasswd> -w start -D D:\pgsql\data
>>>
>>> However, i get the following error message:
>>>
>>> waiting for server to start...FATAL: postgres: could not locate matching
>>> postgres executable

Reading the error message and searching the source-code for it (always
worth having a copy of the source, even if you don't read "C") I found
that the error message isn't being produced by pg_ctl. It's being
produced by "postgres" - the backend itself.

It's checking that it's version number matches the version number
reported by running /path/to/my/dir/postgres.exe -V (grab the source and
have a look in port/exec.c at about line 395).

Now, that means one of three things:
1. It can't reach the "current directory" (permissions)
2. It can't run postgres (permissions)
3. The version-string is incorrect.

I don't see how #2 is possible (pg_ctl has started postgres.exe fine) so
that leaves #1 or #3. The third is easy to check run "postgres.exe -V"
yourself and see what it says.

--
Richard Huxton
Archonet Ltd

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Alban Hertroys 2009-03-31 12:18:17 Re: [GENEAL] dynamically changing table
Previous Message CM J 2009-03-31 11:14:28 Re: Postgres: Packaging & Server Startup