Обсуждение: Batch: DB password with ">"
Hi,
i want to modiy the adatabse via batch script. The user has a password that contains symbols like that “g>uAks!”. The problem here is the “greater than”-symbol.
call set PGPASSFILE=%TEMP%\pgpass.conf
echo localhost:5432:postgres:postgres:7Ug^>uAks!{VA > %PGPASSFILE%
"C:\Program Files\PostgreSQL\10\bin\psql" -U postgres
psql will always fail with FATAL: User-Athentification failed. The password was read from ..\Local\Temp\pgpass.conf
If I set a Enviromentvariable and “echo” it, it will not work, because of the >-symbol.
C:\Users\hschenk>set PGPASSWORD=lalal>lala
C:\Users\hschenk>echo %PGPASSWORD%
Lalal
How can I use this with a password like this?
How can I use this with a password like this?
On Thursday, October 11, 2018, Schenk, Hendrik <hendrik.schenk@sieb-meyer.de> wrote:How can I use this with a password like this?
Maybe use single quotes to prevent the shell from seeing its special symbol?David J.
Hi,
i want to modiy the adatabse via batch script. The user has a password that contains symbols like that “g>uAks!”. The problem here is the “greater than”-symbol.
call set PGPASSFILE=%TEMP%\pgpass.conf
echo localhost:5432:postgres:postgres:7Ug^>uAks!{VA > %PGPASSFILE%
"C:\Program Files\PostgreSQL\10\bin\psql" -U postgres
psql will always fail with FATAL: User-Athentification failed. The password was read from ..\Local\Temp\pgpass.conf
If I set a Enviromentvariable and “echo” it, it will not work, because of the >-symbol.
C:\Users\hschenk>set PGPASSWORD=lalal>lala
C:\Users\hschenk>echo %PGPASSWORD%
Lalal
How can I use this with a password like this?
Hi,
single quotes, double quotes, escaping with
\ or
^ or
^\ or
\^
does not work.
echo localhost:5432:postgres:postgres:7Ug^\>uAks!{VA > %PGPASSFILE% does not escape the “>”-symbol.
echo "localhost:5432:postgres:postgres:7Ug^>uAks!{VA" > %PGPASSFILE% does not work, because psql seems not to understand the pgconf-file, does not check the file for a password and give me a pw prompt.
Best regards
Hendrik
Von: Shreeyansh Dba <shreeyansh2014@gmail.com>
Gesendet: Donnerstag, 11. Oktober 2018 17:17
An: Schenk, Hendrik <hendrik.schenk@sieb-meyer.de>
Cc: pgsql-admin@lists.postgresql.org
Betreff: Re: Batch: DB password with ">"
On Thu, Oct 11, 2018 at 6:38 PM Schenk, Hendrik <hendrik.schenk@sieb-meyer.de> wrote:
Hi,
i want to modiy the adatabse via batch script. The user has a password that contains symbols like that “g>uAks!”. The problem here is the “greater than”-symbol.
call set PGPASSFILE=%TEMP%\pgpass.conf
echo localhost:5432:postgres:postgres:7Ug^>uAks!{VA > %PGPASSFILE%
"C:\Program Files\PostgreSQL\10\bin\psql" -U postgres
psql will always fail with FATAL: User-Athentification failed. The password was read from ..\Local\Temp\pgpass.conf
If I set a Enviromentvariable and “echo” it, it will not work, because of the >-symbol.
C:\Users\hschenk>set PGPASSWORD=lalal>lala
C:\Users\hschenk>echo %PGPASSWORD%
Lalal
How can I use this with a password like this?
Вложения
There was a space too much between the password and the streaming operator. So the password was extended by a trailing space.
Furthermore you have to escape the >-symbol first with the carret in the windows command shell and then the escape-symbol \ for psql.
echo localhost:5432:postgres:postgres: 7Ug\^>uAks!{VA> %PGPASSFILE%
best regards
Hendrik
Von: Shreeyansh Dba <shreeyansh2014@gmail.com>
Gesendet: Donnerstag, 11. Oktober 2018 17:17
An: Schenk, Hendrik <hendrik.schenk@sieb-meyer.de>
Cc: pgsql-admin@lists.postgresql.org
Betreff: Re: Batch: DB password with ">"
On Thu, Oct 11, 2018 at 6:38 PM Schenk, Hendrik <hendrik.schenk@sieb-meyer.de> wrote:
Hi,
i want to modiy the adatabse via batch script. The user has a password that contains symbols like that “g>uAks!”. The problem here is the “greater than”-symbol.
call set PGPASSFILE=%TEMP%\pgpass.conf
echo localhost:5432:postgres:postgres:7Ug^>uAks!{VA > %PGPASSFILE%
"C:\Program Files\PostgreSQL\10\bin\psql" -U postgres
psql will always fail with FATAL: User-Athentification failed. The password was read from ..\Local\Temp\pgpass.conf
If I set a Enviromentvariable and “echo” it, it will not work, because of the >-symbol.
C:\Users\hschenk>set PGPASSWORD=lalal>lala
C:\Users\hschenk>echo %PGPASSWORD%
Lalal
How can I use this with a password like this?