Я пытаюсь подключиться к моему серверу PostgreSQL 11.3 с помощью CLI (psql). У меня есть требование установить пароль в командной строке (нельзя использовать переменную окружения PGPASSWORD
).
Я пытаюсь использовать URL для доступа к базе данных, как это:
psql postgresql://username@server:password@server.full.name:5432/db_name
Как видите, мой логин содержит в себе (@
), например, мое имя пользователя: username@server
.
Я получаю ошибку:
psql: Invalid port number: "password@server.full.name:5432/db_name"
Я полагаю, что psql CLI сначала анализирует в (@
) как разделитель между именем пользователя и именем сервера. Это ошибка PSI CLI?
Как я могу передать такое имя пользователя (содержащее @
) в URL, чтобы правильно запустить psql?
Спасибо!
Обновление 1:
Мой коллега предложил использовать %40
вместо двоеточия :
между логином и паролем, например:
psql postgresql://username@server%40password@server.full.name:5432/db_name
Но это никак не влияет (я использую Windows 10, cmd.exe)