Я использую инструмент, который подключается к базе данных postgres, используя строку URI для подключения. Обычно это работает нормально для меня, просто делая postgres://<username>:<password>@<host>:<port>/<database>
. Однако я переместил свою базу данных в AWS RDS, и теперь для пароля базы данных я сейчас использую токен авторизации. Токен выглядит следующим образом:
rdspostgres.cdgmuqiadpid.us-west-2.rds.amazonaws.com:5432/?Action=connect&DBUser=jane_doe&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=900...
Когда я вставляю его для пароля, он не может правильно проанализировать из-за формата токена. Например я получаю ошибку psql: invalid URI query parameter: "Action"
. Как использовать токены в качестве паролей для строки? Есть ли способ, которым мне нужно его кодировать?
Также стоит отметить, что для проверки работоспособности я попытался соединиться с psql -d $DATABASE -p $PORT -U $USER --no-password
, установив $PGPASSWORD
в качестве переменной среды. Это отлично работало, и я смог подключиться, так что это должно быть что-то с парсингом строки пароля.