Thread: BUG #5979: postgres service cannot be started if database is located in NAS

The following bug has been logged online:

Bug reference:      5979
Logged by:          qintao
Email address:      qintao@huaweisymantec.com
PostgreSQL version: 8.4.7
Operating system:   windows server 2008
Description:        postgres service cannot be started if database is
located in NAS
Details:

steps to reproduce
1. Share a directory (say \data) from a NAS
2. map the shared directory to a Windows server 2008 R2 host to be a network
drive (say Z:)
3. install postgresql to the Windows Server 2008 R2 with the database as
z:\db\.
4. try to start the postgresql service from service.msc
  It's failed with a log in the event viewer:
postgres cannot access the server configuration file
"C:/symbollink/postgresql.conf": No such file or directory

5. start a Command Prompt, execute the below cmd:
C:/Program Files (x86)/PostgreSQL/8.4/bin/pg_ctl.exe start -N
"postgresql-8.4" -D "C:/symbollink" -w

the service can be started.

Re: BUG #5979: postgres service cannot be started if database is located in NAS

From
Magnus Hagander
Date:
On Thu, Apr 14, 2011 at 22:57, qintao <qintao@huaweisymantec.com> wrote:
>
> The following bug has been logged online:
>
> Bug reference: =A0 =A0 =A05979
> Logged by: =A0 =A0 =A0 =A0 =A0qintao
> Email address: =A0 =A0 =A0qintao@huaweisymantec.com
> PostgreSQL version: 8.4.7
> Operating system: =A0 windows server 2008
> Description: =A0 =A0 =A0 =A0postgres service cannot be started if databas=
e is
> located in NAS
> Details:
>
> steps to reproduce
> 1. Share a directory (say \data) from a NAS
> 2. map the shared directory to a Windows server 2008 R2 host to be a netw=
ork
> drive (say Z:)
> 3. install postgresql to the Windows Server 2008 R2 with the database as
> z:\db\.
> 4. try to start the postgresql service from service.msc
> =A0It's failed with a log in the event viewer:
> postgres cannot access the server configuration file
> "C:/symbollink/postgresql.conf": No such file or directory
>
> 5. start a Command Prompt, execute the below cmd:
> C:/Program Files (x86)/PostgreSQL/8.4/bin/pg_ctl.exe start -N
> "postgresql-8.4" -D "C:/symbollink" -w
>
> the service can be started.

Mounts are per-session in Windows. When the service starts, it is in a
different session, and can thus not see your mount point.

That said, PostgreSQL is not supported over SMB mounts anyway. It
requires a local NFTS filesystem. SMB mounts cannot be trusted for
databases.

--=20
=A0Magnus Hagander
=A0Me: http://www.hagander.net/
=A0Work: http://www.redpill-linpro.com/