| 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: | Whole Thread | Raw Message | 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. |