Re: Window2012R2: initdb error: "The current directory is invalid."
От | Dang Minh Huong |
---|---|
Тема | Re: Window2012R2: initdb error: "The current directory is invalid." |
Дата | |
Msg-id | EA52AB6F-D548-4F06-A45B-08E6443905BB@gmail.com обсуждение исходный текст |
Ответ на | Re: Window2012R2: initdb error: "The current directory is invalid." (cpolish@surewest.net) |
Список | pgsql-bugs |
Hi, Thank you all for your advices. We have simply solved this problem with change the running initdb's folder t= o not to "c:\windows\temp\something". Best regards, bocap. Ng=C3=A0y 20-01-2016, v=C3=A0o l=C3=BAc 07:28, cpolish@surewest.net vi=E1=BA= =BFt: > On 2016-01-19 22:45, Dang Minh Huong wrote: >>> owner@postgresql.org] On Behalf Of Thomas Kellerer >>> Huong Dangminh schrieb am 19.01.2016 um 11:49: >>>> I have failed in execute initdb in "c:\Windows\Temp\dir" folder as >>>> reproduce logs below. The OS's messages "The current directory is inval= id." >>>> was returned. >>>=20 >>> c:\Windows has special protection and it is not really surprising that a= regular >>> user isn't allowed to write into that directory. >>>=20 >>> When Postgres is started it drops all "Administrator" privileges for sec= urity >>> reasons (older versions would refuse to start as >>> Administrator) - and I think initdb is doing the same thing. >>> So it's understandable that it can't write to c:\Windows >>=20 >> I did not mean, create data cluster in C drive made that error sir. >> This issue reproduce in all drive specified in -D option. >> # My reproduce environment is only one (C) drive. So, sorry for the log. >>=20 >> I mean, it happen when current directory of command line is "c:\Windows\T= emp\something". >> It is rare case, and may be a Windows2012's specification, but i don't kn= ow >> why only "c:\Windows\Temp\something" and are there another case like that= ? >>=20 >>> Putting application data into c:\Windows (or "c:\Program Files" for that= >>> matter) is an extremely bad idea to begin with (c:\Windows being even >>> worse than "c:\Program Files") >>>=20 >>> You shouldn't be doing that anyway. >=20 > As Thomas said, it is undesireable to log into a server as > administrator. You should create and use a privileged user, for > example dmhadmin, insert that user into the administrators > group. Also create an ordinary user, perhaps dmh, and log in > with that account. Download the postgres installer, run it as > the ordinary user. You will be prompted for a privileged user > account, enter the priviledged account (for example, dmhadmin). > When asked for the location to install the database, create a > new folder named postgres on a non-system (not C:) disk. If your > server can only have one disk you might install the database in > C:\postgres, which you'll have the opportunity to create from > inside the installer's "browse..." dialog. This folder will be > owned by the local server's "administrators" group with > appropriate privileges.=20 >=20 > C:\Windows\Temp is not an appropriate choice for storing > persistent program data. If you ignore this by manipulating the > permissions you will eventually be harmed when a privileged > program clears the entire contents. >=20 > Hope that helps, > --=20 > Charles >=20
В списке pgsql-bugs по дате отправления: