From: | Thomas Kellerer <spam_eater(at)gmx(dot)net> |
---|---|
To: | pgsql-admin(at)postgresql(dot)org |
Subject: | Re: Running Windows binaries from non-English folder |
Date: | 2017-11-08 06:56:29 |
Message-ID: | otu9qm$5ph$1@blaine.gmane.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
Yuri Martsinovsky schrieb am 07.11.2017 um 20:30:
> I put PostgreSQL binary files in Windows in a folder with Russian name, for example:
> C:\Постгрес
>
> When I run pg_ctl.exe from the Command Prompt from this current directory I get the following error:
> could not find a "pg_ctl.exe" to execute
>
> pg_ctl.exe file is actually there and it runs, but just prints the above error to the console.
>
> If I run
> "C:\Постгрес\pg_ctl.exe"
> I get this error:
> invalid binary: "C:\????????\pg_ctl.exe"
>
> The same happens when running initdb.exe
> Looks like the utility just cannot access its own file because of the russian characters.
>
> The OS is Windows 10
> I tried running "chcp 65001" in the console window to set UTF-8 encoding for the console.
>
> Similar errors happen if I put the binaries in English folder, but try to run initdb for a non-english data folder
>
> Does PostgreSQL for Windows support directories in UTF-8 or other encoding?
I have encountered that as well even with plain ASCII names, but with spaces in it.
Try
"C:\Постгрес\"pg_ctl.exe
(That is: only quote the path, not the actual executable)
I think this happens if you start pg_ctl using an administrator account.
pg_ctl drops the privileges then and restarts itself (or something like that) but it fails to extract the filename correctly if everything is quoted.
Thomas
From | Date | Subject | |
---|---|---|---|
Next Message | Douglas Reed | 2017-11-08 10:09:49 | Problems rebuilding slave using pg_basebackup |
Previous Message | rammohan ganapavarapu | 2017-11-08 02:52:06 | How to measure replication lag in logical replication setup. |