in files/gitlab-ctl-commands/pg-upgrade.rb [605:625]
def analyze_cluster
pg_username = @attributes.dig(:gitlab, :postgresql, :username) || @attributes.dig(:postgresql, :username)
pg_host = @attributes.dig(:gitlab, :postgresql, :unix_socket_directory) || @attributes.dig(:postgresql, :unix_socket_directory)
analyze_cmd = "PGOPTIONS='-c statement_timeout=0' #{@db_worker.target_version_path}/bin/vacuumdb -j2 --all --analyze-in-stages -h #{pg_host} -p #{@db_worker.port}"
begin
@db_worker.run_pg_command(analyze_cmd)
rescue GitlabCtl::Errors::ExecutionError => e
log "Error running #{analyze_cmd}"
log "STDOUT: #{e.stdout}"
log "STDERR: #{e.stderr}"
log 'Please check the output, and rerun the command as root or with sudo if needed:'
log "sudo su - #{pg_username} -c \"#{analyze_cmd}\""
log 'If the error persists, please open an issue at: '
log 'https://gitlab.com/gitlab-org/omnibus-gitlab/issues'
rescue Mixlib::ShellOut::CommandTimeout
$stderr.puts "Time out while running the analyze stage.".color(:yellow)
$stderr.puts "Please re-run the command manually as the #{pg_username} user".color(:yellow)
$stderr.puts analyze_cmd.color(:yellow)
end
end