diff --git a/src/lib/database/databases.ts b/src/lib/database/databases.ts
index 2179b5479..9132fc2b2 100644
--- a/src/lib/database/databases.ts
+++ b/src/lib/database/databases.ts
@@ -138,7 +138,7 @@ export async function stopDatabase(database) {
return everStarted;
}
-export async function updatePasswordInDb(database, user, newPassword) {
+export async function updatePasswordInDb(database, user, newPassword, isRoot) {
const {
id,
type,
@@ -157,9 +157,15 @@ export async function updatePasswordInDb(database, user, newPassword) {
`DOCKER_HOST=${host} docker exec ${id} mysql -u ${rootUser} -p${rootUserPassword} -e \"ALTER USER '${user}'@'%' IDENTIFIED WITH caching_sha2_password BY '${newPassword}';\"`
);
} else if (type === 'postgresql') {
- await asyncExecShell(
- `DOCKER_HOST=${host} docker exec ${id} psql postgresql://${dbUser}:${dbUserPassword}@${id}:5432/${defaultDatabase} -c "ALTER role ${user} WITH PASSWORD '${newPassword}'"`
- );
+ if (isRoot) {
+ await asyncExecShell(
+ `DOCKER_HOST=${host} docker exec ${id} psql postgresql://postgres:${rootUserPassword}@${id}:5432/${defaultDatabase} -c "ALTER role postgres WITH PASSWORD '${newPassword}'"`
+ );
+ } else {
+ await asyncExecShell(
+ `DOCKER_HOST=${host} docker exec ${id} psql postgresql://${dbUser}:${dbUserPassword}@${id}:5432/${defaultDatabase} -c "ALTER role ${user} WITH PASSWORD '${newPassword}'"`
+ );
+ }
} else if (type === 'mongodb') {
await asyncExecShell(
`DOCKER_HOST=${host} docker exec ${id} mongo 'mongodb://${rootUser}:${rootUserPassword}@${id}:27017/admin?readPreference=primary&ssl=false' --eval "db.changeUserPassword('${user}','${newPassword}')"`
diff --git a/src/routes/databases/[id]/_Databases/_PostgreSQL.svelte b/src/routes/databases/[id]/_Databases/_PostgreSQL.svelte
index 72b01bcea..343ad74d6 100644
--- a/src/routes/databases/[id]/_Databases/_PostgreSQL.svelte
+++ b/src/routes/databases/[id]/_Databases/_PostgreSQL.svelte
@@ -26,12 +26,12 @@
>Root (postgres) User Password