##### Job configuration ##### $DBhost = "localhost" $port = "5679" # Username used for backup task $username = "postgres" $role = "postgres" # Parameters for backup job $format = "t" # t for TAR file $DBnamesarray = @('csmain') $dumpFilePath = "C:\\POSTGRESQLBACKUP\\csmain\\" $date = get-date -format MMMM-dd-yyyy-HH-mm- # Email configuration $SmtpServer = "" $mailFrom = "" $mailFromPWD = ConvertTo-SecureString -String "" -AsPlainText -Force $mailCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $mailFrom, $mailFromPWD $mailTo = "" $mailSubject = "Triofox PostgreSQL Backup" $mailBody = "Backup Log was atteched." # pg_dump path. Update below if you installed PGAdmin in different path cd "C:\Program Files\pgAdmin 4\v6\runtime\" ##### Run backup task - Don't edit below this line ##### foreach ($DB in $DBnamesarray) { $wrapFileName = $dumpFilePath+$date+($DB+".tar") Start-Transcript $env:HOMEPATH\$date+$DB".log" Write-Host "Ruuning job for $DB" .\pg_dump.exe --file "$wrapFileName" --host $DBhost --port $port --username $username --no-password --verbose --role $role --format=$format --blobs --encoding "UTF8" $DB Stop-Transcript Send-MailMessage -Attachments $env:HOMEPATH\$date+$DB".log" -SmtpServer $SmtpServer -From $mailFrom -To $mailTo -Subject $mailSubject -Credential $mailCredential }