Skip to content

Commit 7f9f4ae

Browse files
authored
fix: Fix PostgreSQL backup failure with $ character (#11252)
1 parent 8bec6f2 commit 7f9f4ae

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

‎agent/utils/postgresql/client/remote.go‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ func (r *Remote) Backup(info BackupInfo) error{
132132
}
133133
fileNameItem:=info.TargetDir+"/"+strings.TrimSuffix(info.FileName, ".gz")
134134
backupCommand:=exec.Command("bash", "-c",
135-
fmt.Sprintf("docker run --rm --net=host -i %s /bin/bash -c 'PGPASSWORD=\"%s\" pg_dump -h %s -p %d --no-owner -Fc -U %s %s' > %s",
135+
fmt.Sprintf("docker run --rm --net=host -i %s /bin/bash -c 'PGPASSWORD='\\''%s'\\'' pg_dump -h %s -p %d --no-owner -Fc -U %s %s' > %s",
136136
imageTag, r.Password, r.Address, r.Port, r.User, info.Name, fileNameItem))
137137
_=backupCommand.Run()
138138
b:=make([]byte, 5)
@@ -176,7 +176,7 @@ func (r *Remote) Recover(info RecoverInfo) error{
176176
}()
177177
}
178178
recoverCommand:=exec.Command("bash", "-c",
179-
fmt.Sprintf("docker run --rm --net=host -i %s /bin/bash -c 'PGPASSWORD=\"%s\" pg_restore -h %s -p %d --verbose --clean --no-privileges --no-owner -Fc -c --if-exists --no-owner -U %s -d %s --role=%s' < %s",
179+
fmt.Sprintf("docker run --rm --net=host -i %s /bin/bash -c 'PGPASSWORD='\\''%s'\\'' pg_restore -h %s -p %d --verbose --clean --no-privileges --no-owner -Fc -c --if-exists --no-owner -U %s -d %s --role=%s' < %s",
180180
imageTag, r.Password, r.Address, r.Port, r.User, info.Name, info.Username, fileName))
181181
pipe, _:=recoverCommand.StdoutPipe()
182182
stderrPipe, _:=recoverCommand.StderrPipe()

0 commit comments

Comments
(0)